<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://ulysseszh.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://ulysseszh.github.io/" rel="alternate" type="text/html" hreflang="en-US" /><updated>2026-10-09T00:34:02-07:00</updated><id>https://ulysseszh.github.io/feed.xml</id><title type="html"><![CDATA[Ulysses’ trip]]></title><subtitle>Here we are at the awesome (awful) blog written by UlyssesZhan!</subtitle><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><entry><title type="html"><![CDATA[How Pareto optimizations of distances relate to closed convex hulls]]></title><link href="https://ulysseszh.github.io/math/2026/10/07/convex-pareto.html" rel="alternate" type="text/html" title="How Pareto optimizations of distances relate to closed convex hulls" /><published>2026-10-07T14:03:46-07:00</published><updated>2026-10-07T14:03:46-07:00</updated><id>https://ulysseszh.github.io/math/2026/10/07/convex-pareto</id><content type="html" xml:base="https://ulysseszh.github.io/math/2026/10/07/convex-pareto.html"><![CDATA[<h2 data-label="0.1" id="introduction">Introduction</h2>
<p>For a real normed space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>, let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span>. Define <span id="eq:pareto-improvements" data-label="(1)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>⋂</mo><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></munder><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>⋂</mo><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></munder><mover accent="true"><mi>B</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc I{S,x}\ceq\bigcap_{a\in S}\fc B{a,\V{x-a}},\qquad
\fc{\bar I}{S,x}\ceq\bigcap_{a\in S}\fc{\bar B}{a,\V{x-a}}</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(1)</annotation></semantics></math></span></span> </span></span> (specially, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi mathvariant="normal">∅</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi mathvariant="normal">∅</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">\fc I{\varnothing,x}=\fc{\bar I}{\varnothing,x}=X</annotation></semantics></math></span>), where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>y</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mi>r</mi><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><mover accent="true"><mi>B</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>y</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mi>r</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc B{a,r}\ceq\set{y\in X}{\V{y-a}&lt;r},\qquad
\fc{\bar B}{a,r}\ceq\set{y\in X}{\V{y-a}\le r}</annotation></semantics></math></span> denote the respectively open and closed ball centered at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span> with radius <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span>, and <span id="eq:pareto-sets" data-label="(2)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>x</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">∅</mi><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>x</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mi>x</mi><mo fence="true">}</mo></mrow><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc PS\ceq\set{x\in X}{\fc I{S,x}=\varnothing},\qquad
\fc{\bar P}S\ceq\set{x\in X}{\fc{\bar I}{S,x}=\B x}.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(2)</annotation></semantics></math></span></span> </span></span> This article studies the four properties: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>P</mi><mo>⊃</mo></msub><mo>:</mo><mspace width="2em"/><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>⊆</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><msub><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo></msub><mo>:</mo><mspace width="2em"/><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>⊆</mo><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">P_\supset:\qquad \opn{\overline{conv}}S\subseteq\fc PS,\qquad
\bar P_\supset:\qquad \opn{\overline{conv}}S\subseteq\fc{\bar P}S,</annotation></semantics></math></span> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>P</mi><mo>⊂</mo></msub><mo>:</mo><mspace width="2em"/><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo separator="true">,</mo><mspace width="2em"/><msub><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo></msub><mo>:</mo><mspace width="2em"/><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">P_\subset:\qquad \fc PS\subseteq\opn{\overline{conv}}S,\qquad
\bar P_\subset:\qquad \fc{\bar P}S\subseteq\opn{\overline{conv}}S,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}S</annotation></semantics></math></span> denotes the <a href="https://en.wikipedia.org/wiki/Convex_hull#Closed_and_open_hulls" target="_blank" rel="external">closed convex hull</a> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>.</p>
<p>Based on the property of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>, the four properties multiply to sixteen properties: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}^\mrm f</annotation></semantics></math></span> means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow></msub></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}</annotation></semantics></math></span> holds for all finite <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span>; <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}^\mrm c</annotation></semantics></math></span> means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow></msub></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}</annotation></semantics></math></span> holds for all compact <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span>; <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}^\mrm b</annotation></semantics></math></span> means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow></msub></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}</annotation></semantics></math></span> holds for all bounded <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span>; <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}^\mrm a</annotation></semantics></math></span> means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow></msub></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}</annotation></semantics></math></span> holds for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span>; and similarly for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_{\supset,\subset}^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span>.</p>
<p>We assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi><mo mathvariant="normal">≠</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">X\ne\B0</annotation></semantics></math></span> throughout. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">S=\varnothing</annotation></semantics></math></span>, all sixteen properties then hold trivially, so proofs involving <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> may assume it is nonempty. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">X=\B0</annotation></semantics></math></span> and empty sets of ideal points are allowed, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo></msub></mrow><annotation encoding="application/x-tex">\bar P_\subset</annotation></semantics></math></span> fails for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">S=\varnothing</annotation></semantics></math></span>.</p>
<p>Some of the properties are stronger than others. First, all finite sets are compact, and all compact sets are bounded. Second, we can easily see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar P}S\subseteq\fc PS</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">a</mi></msubsup><mo>⇒</mo><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">b</mi></msubsup><mo>⇒</mo><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">c</mi></msubsup><mo>⇒</mo><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">f</mi></msubsup><mo separator="true">,</mo><mspace width="2em"/><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">a</mi></msubsup><mo>⇒</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">b</mi></msubsup><mo>⇒</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">c</mi></msubsup><mo>⇒</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mi mathvariant="normal">f</mi></msubsup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}^\mrm a\Rightarrow P_{\supset,\subset}^\mrm b\Rightarrow P_{\supset,\subset}^\mrm c\Rightarrow P_{\supset,\subset}^\mrm f,\qquad
\bar P_{\supset,\subset}^\mrm a\Rightarrow \bar P_{\supset,\subset}^\mrm b\Rightarrow \bar P_{\supset,\subset}^\mrm c\Rightarrow \bar P_{\supset,\subset}^\mrm f,</annotation></semantics></math></span> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup><mo>⇒</mo><msubsup><mi>P</mi><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup><mo separator="true">,</mo><mspace width="2em"/><msubsup><mi>P</mi><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup><mo>⇒</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bar P_\supset^{\mrm f,\mrm c,\mrm b,\mrm a}\Rightarrow P_\supset^{\mrm f,\mrm c,\mrm b,\mrm a},\qquad
P_\subset^{\mrm f,\mrm c,\mrm b,\mrm a}\Rightarrow \bar P_\subset^{\mrm f,\mrm c,\mrm b,\mrm a}.</annotation></semantics></math></span></p>
<p>The established characterizations and the remaining gaps are summarized in the following table:</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Characterization</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^{\mrm f,\mrm c,\mrm b}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm b</annotation></semantics></math></span></td>
<td>inner product space or plane</td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^{\mrm f,\mrm c,\mrm b}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm b</annotation></semantics></math></span></td>
<td>inner product space or strictly convex plane</td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm a</annotation></semantics></math></span></td>
<td>inner product space or plane with balanced tangent chords</td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm a</annotation></semantics></math></span></td>
<td>inner product space or strictly convex plane with balanced tangent chords</td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^{\mrm f,\mrm c}</annotation></semantics></math></span></td>
<td>finite dimensions: inner product space or strictly convex plane; infinite dimensions: open</td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^{\mrm f,\mrm c}</annotation></semantics></math></span></td>
<td>finite dimensions: inner product space or plane; infinite dimensions: open</td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm a</annotation></semantics></math></span></td>
<td>Hilbert space or strictly convex plane</td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm a</annotation></semantics></math></span></td>
<td>Hilbert space or plane</td>
</tr>
</tbody>
</table>
<p class="no-indent">
Here, a plane means a two-dimensional real normed space. See Definition <span class="citation" data-cites="thm:balanced-tangent-chords"><a href="#thm:balanced-tangent-chords">24</a></span> for balanced tangent chords.
</p>
<p>If we only consider the characterizations of spaces satisfying both <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span> (or both <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span>), then there are no open gaps:</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Characterization</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi></mrow></msubsup><mo>∧</mo><msubsup><mi>P</mi><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^{\mrm f,\mrm c,\mrm b}\land P_\subset^{\mrm f,\mrm c,\mrm b}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi></mrow></msubsup><mo>∧</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^{\mrm f,\mrm c,\mrm b}\land\bar P_\subset^{\mrm f,\mrm c,\mrm b}</annotation></semantics></math></span></td>
<td>inner product space or strictly convex plane</td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup><mo>∧</mo><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm a\land P_\subset^\mrm a</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup><mo>∧</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm a\land\bar P_\subset^\mrm a</annotation></semantics></math></span></td>
<td>Hilbert space or strictly convex plane with balanced tangent chords</td>
</tr>
</tbody>
</table>
<p>In the following sections, a vector space is assumed to be over the real numbers unless otherwise specified.</p>
<h2 data-label="0.2" id="background">Background</h2>
<p>The background of this study is in economics, where preference relations and Pareto efficiency are studied.</p>
<p>My motivation of studying the properties originates from <a href="/economics/2023/03/25/voting-pareto.html">my previous article</a> on voting systems, dates back to more than three years ago.</p>
<p>In the end of that article, I used an example of this preference relation: an agent prefers points nearer to the ideal point. Mathematically, it says that in the metric space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>X</mi><mo separator="true">,</mo><mi>d</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{X,d}</annotation></semantics></math></span>, for an agent with ideal point <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">a\in X</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>⪰</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">y\succeq x</annotation></semantics></math></span> iff <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo separator="true">,</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>a</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc d{y,a}\le\fc d{x,a}</annotation></semantics></math></span>. Such a preference relation is what I call a <dfn>distance preference relation</dfn>.</p>
<p>That article also focuses on the concept of Pareto efficiency, or particularly, weak Pareto efficiency. Suppose that we have a set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> of agents, and we denote the preference relation of each agent <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>⪰</mo><mi>a</mi></msub></mrow><annotation encoding="application/x-tex">\succeq_a</annotation></semantics></math></span>, and suppose all preference relations are complete over a space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>. Then, we say <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span> is a <dfn>strong Pareto improvement</dfn> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span> iff <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mi>y</mi><msub><mo>≻</mo><mi>a</mi></msub><mi>x</mi></mrow><annotation encoding="application/x-tex">\forall a\in S:y\succ_a x</annotation></semantics></math></span>; <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is a <dfn>weak Pareto improvement</dfn> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> iff <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mi>y</mi><msub><mo>⪰</mo><mi>a</mi></msub><mi>x</mi></mrow><annotation encoding="application/x-tex">\forall a\in S:y\succeq_a x</annotation></semantics></math></span>. Note the terminological quirk: a strong Pareto optimal has no weak Pareto improvement, and a weak Pareto optimal has no strong Pareto improvement. Note that neither concept is the actual definition of Pareto improvement used in economics, which says that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is an <dfn>(economic) Pareto improvement</dfn> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> iff <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mi>y</mi><msub><mo>⪰</mo><mi>a</mi></msub><mi>x</mi></mrow><annotation encoding="application/x-tex">\forall a\in S:y\succeq_a x</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∃</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mi>y</mi><msub><mo>≻</mo><mi>a</mi></msub><mi>x</mi></mrow><annotation encoding="application/x-tex">\exists a\in S:y\succ_a x</annotation></semantics></math></span>. However, since the weak Pareto improvement and the strong Pareto improvement have simpler mathematical definitions, they will be the focus of this article.</p>
<p>The set of all strong Pareto improvements of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> is denoted as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc I{S,x}</annotation></semantics></math></span>. We say <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> is <dfn>weak Pareto optimal</dfn> iff <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc I{S,x}=\varnothing</annotation></semantics></math></span>, and the <dfn>weak Pareto set</dfn> is the set of all weak Pareto optimals, denoted as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc PS</annotation></semantics></math></span>. Similarly, we can denote the set of weak Pareto improvements as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,x}</annotation></semantics></math></span>. We say <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> is <dfn>strong Pareto optimal</dfn> iff <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mi>x</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,x}=\B x</annotation></semantics></math></span>, and the <dfn>strong Pareto set</dfn> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar P}S</annotation></semantics></math></span> is the set of all strong Pareto optimals. When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is a metric space and the preference relations are distance preference relations, the definitions of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc I{S,x}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,x}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc PS</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar P}S</annotation></semantics></math></span> match exactly with the definitions in Equation <a href="#eq:pareto-improvements">1</a> and Equation <a href="#eq:pareto-sets">2</a>.</p>
<p>In the end of my previous article referenced here, there was an example taking <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> as a Euclidean plane as an example. There was a figure visualizing the weak Pareto sets for finite numbers of agents, but I never explained how I derived the weak Pareto sets. From the figure, it seems that the weak Pareto set is the convex hull of the ideal points of the agents. I originally planned to prove this in that article, but it turned out that it was too difficult, so I just left it without justification.</p>
<hr />
<p>Questions of the same type were raised and answered by <a href="https://doi.org/10.1007/978-3-642-46618-2_6" target="_blank" rel="external">Durier (1987)</a>. In his paper, he called <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar P}S</annotation></semantics></math></span> the strictly efficient points, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc PS</annotation></semantics></math></span> the weakly efficient points, and the economic Pareto set the efficient points. He also studied another type of optimal points called the properly efficient points.</p>
<h2 data-label="0.3" id="preliminaries">Preliminaries</h2>
<p class="no-indent">
<strong>Theorem <span id="thm:not-strictly-convex-to-not-p2f">1</span>.</strong> If a normed space is not <a href="https://en.wikipedia.org/wiki/Strictly_convex_space" target="_blank" rel="external">strictly convex</a>, then it does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm f</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space that is not strictly convex. Its unit sphere contains a nontrivial line segment, so there exist distinct unit vectors <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u,v\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">\V{u+v}=2</annotation></semantics></math></span>. Set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mo>−</mo><mi>v</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S\ceq\B{u,-v}</annotation></semantics></math></span>.</p>
<p>Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>∩</mo><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>v</mi><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">y\in\fc I{S,0}=\fc B{u,1}\cap\fc B{-v,1}.</annotation></semantics></math></span> We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{y-u}&lt;1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mrow><mo fence="true">(</mo><mo>−</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{y-\p{-v}}&lt;1</annotation></semantics></math></span>. The triangle inequality gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>2</mn><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mrow><mo fence="true">(</mo><mo>−</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mn>1</mn><mo>+</mo><mn>1</mn><mo>=</mo><mn>2</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">2=\V{u+v}\le\V{u-y}+\V{y-\p{-v}}&lt;1+1=2,</annotation></semantics></math></span> a contradiction. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc I{S,0}=\varnothing</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">0\in\fc PS</annotation></semantics></math></span>.</p>
<p>Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>=</mo><mrow><mo fence="true">{</mo><mi>λ</mi><mi>u</mi><mo>−</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mi>v</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>λ</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">0\in\opn{\overline{conv}}S=\set{\lmd u-\p{1-\lmd}v}{\lmd\in\b{0,1}}.</annotation></semantics></math></span> Then there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\lmd\in\b{0,1}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>=</mo><mi>λ</mi><mi>u</mi><mo>−</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">0=\lmd u-\p{1-\lmd}v</annotation></semantics></math></span>. Taking the norm on both sides gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>0</mn><mo>=</mo><mrow><mo fence="true">∥</mo><mi>λ</mi><mi>u</mi><mo>−</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mi>λ</mi><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>2</mn><mi>λ</mi><mo>−</mo><mn>1</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">0=\V{\lmd u-\p{1-\lmd}v}\ge\lmd\V u-\p{1-\lmd}\V v=2\lmd-1,</annotation></semantics></math></span> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>0</mn><mo>=</mo><mrow><mo fence="true">∥</mo><mi>λ</mi><mi>u</mi><mo>−</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mi>λ</mi><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn><mo>−</mo><mn>2</mn><mi>λ</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">0=\V{\lmd u-\p{1-\lmd}v}\ge\p{1-\lmd}\V v-\lmd\V u=1-2\lmd.</annotation></semantics></math></span> These two inequalities imply <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\lmd=1/2</annotation></semantics></math></span>. This then gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>=</mo><mi>u</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo>−</mo><mi>v</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">0=u/2-v/2</annotation></semantics></math></span>, which implies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>=</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u=v</annotation></semantics></math></span>. This contradicts with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo mathvariant="normal">≠</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u\ne v</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}S</annotation></semantics></math></span>.</p>
<p>Thus, we have found a counterexample to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm f</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:not-strictly-convex-to-not-bar-p1f">2</span>.</strong> If a normed space is not strictly convex, then it does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm f</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space that is not strictly convex. Its unit sphere contains a nontrivial line segment, so there exist distinct unit vectors <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u,v\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">\V{u+v}=2</annotation></semantics></math></span>. Set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mo>−</mo><mi>v</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S\ceq\B{u,-v}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mi>u</mi><mo>−</mo><mi>v</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">x\ceq\p{u-v}/2</annotation></semantics></math></span>. Obviously we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\in\opn{\overline{conv}}S</annotation></semantics></math></span>. We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mfrac><mrow><mo>−</mo><mi>u</mi><mo>−</mo><mi>v</mi></mrow><mn>2</mn></mfrac><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn><mo separator="true">,</mo><mspace width="2em"/><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mfrac><mrow><mi>u</mi><mo>+</mo><mi>v</mi></mrow><mn>2</mn></mfrac><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1.</mn></mrow><annotation encoding="application/x-tex">\V{x-u}=\V{\fr{-u-v}2}=1,\qquad
\V{x+v}=\V{\fr{u+v}2}=1.</annotation></semantics></math></span></p>
<p>Now set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>u</mi><mo>−</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">y\ceq u-v</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u,v</annotation></semantics></math></span> are distinct vectors, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">y\ne x</annotation></semantics></math></span>. We also have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><mrow><mo fence="true">∥</mo><mi>y</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{y-u}=\V{-v}=1\le\V{x-u},\qquad
\V{y+v}=\V u=1\le\V{x+v}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,x}</annotation></semantics></math></span>. We have found a counterexample to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm f</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:strictly-convex-to-equivalence">3</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a strictly convex space and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>=</mo><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc PS=\fc{\bar P}S</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>We obviously have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar P}S\subseteq\fc PS</annotation></semantics></math></span>, so it is sufficient to prove <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc PS\subseteq\fc{\bar P}S</annotation></semantics></math></span>.</p>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x\in X\setminus\fc{\bar P}S</annotation></semantics></math></span>. Then there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>∖</mo><mrow><mo fence="true">{</mo><mi>x</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,x}\setminus\B x</annotation></semantics></math></span>, which satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall a\in S:\V{y-a}\le\V{x-a}</annotation></semantics></math></span>. Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>y</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">y&#x27;\ceq\p{x+y}/2</annotation></semantics></math></span>. For each <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">≠</mo><mi>a</mi></mrow><annotation encoding="application/x-tex">x\ne a</annotation></semantics></math></span> because otherwise <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\V{y-a}\le\V{x-a}=0</annotation></semantics></math></span> would force <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">y=x</annotation></semantics></math></span>. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{y-a}&lt;\V{x-a}</annotation></semantics></math></span>, the triangle inequality gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{y&#x27;-a}&lt;\V{x-a}</annotation></semantics></math></span>. If the two norms are equal, their vectors are distinct, so strict convexity gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{y&#x27;-a}=\V{\fr12\p{x-a}+\fr12\p{y-a}}
&lt;\fr12\V{x-a}+\fr12\V{y-a}\le\V{x-a}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y&#x27;\in\fc I{S,x}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x\notin\fc PS</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<details>
<summary>
Other preliminaries
</summary>
<p class="no-indent">
<strong>Definition <span id="thm:voronoi-cell">4</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space. The <dfn>(open) Voronoi cell</dfn> w.r.t. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span> is the set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>D</mi><mrow><mi>y</mi><mo separator="true">,</mo><mi>x</mi></mrow></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>a</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">D_{y,x}\ceq\set{a\in X}{\V{y-a}&lt;\V{x-a}}.</annotation></semantics></math></span> Also denote <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>D</mi><mrow><mi>y</mi><mo separator="true">,</mo><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">D_y\ceq D_{y,0}</annotation></semantics></math></span>, called the Voronoi cell of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. Similarly, the <dfn>closed Voronoi cell</dfn> w.r.t. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mrow><mi>y</mi><mo separator="true">,</mo><mi>x</mi></mrow></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>a</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\bar D_{y,x}\ceq\set{a\in X}{\V{y-a}\le\V{x-a}},</annotation></semantics></math></span> and denote <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mrow><mi>y</mi><mo separator="true">,</mo><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">\bar D_y\ceq\bar D_{y,0}</annotation></semantics></math></span>.
</p>
<p class="no-indent">
<strong>Theorem <span id="thm:voronoi-cell-equivalence">5</span>.</strong> We can equivalently rewrite <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^{\mrm f,\mrm a}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^{\mrm f,\mrm a}</annotation></semantics></math></span> as follows: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup><mo>:</mo><mspace width="2em"/></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup><mo>:</mo><mspace width="2em"/></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup><mo>:</mo><mspace width="2em"/></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup><mo>:</mo><mspace width="2em"/></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	P_\supset^\mrm f:\qquad&amp;\forall y\in X:0\notin\opn{conv}D_y,\\
	P_\supset^\mrm a:\qquad&amp;\forall y\in X:0\notin\opn{\overline{conv}}D_y,\\
	\bar P_\supset^\mrm f:\qquad&amp;\forall y\in X\setminus\B0:0\notin\opn{conv}\bar D_y,\\
	\bar P_\supset^\mrm a:\qquad&amp;\forall y\in X\setminus\B0:0\notin\opn{\overline{conv}}\bar D_y.\\
\end{align*}</annotation></semantics></math></span>
</p>
<details>
<summary>
Proof
</summary>
<p>By Definition <span class="citation" data-cites="thm:voronoi-cell"><a href="#thm:voronoi-cell">4</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>⇔</mo><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mrow><mi>y</mi><mo separator="true">,</mo><mi>x</mi></mrow></msub></mrow><annotation encoding="application/x-tex">y\in\fc I{S,x}\Leftrightarrow S\subseteq D_{y,x}</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mo>⊃</mo></msub></mrow><annotation encoding="application/x-tex">P_\supset</annotation></semantics></math></span> can be rewritten as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>P</mi><mo>⊃</mo></msub><mo>:</mo><mspace width="2em"/><mrow><mo fence="true">(</mo><mi mathvariant="normal">∃</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mrow><mi>y</mi><mo separator="true">,</mo><mi>x</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>⇒</mo><mi>x</mi><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">P_\supset:\qquad\p{\exists y\in X:S\subseteq D_{y,x}}\Rightarrow x\notin\opn{\overline{conv}}S.</annotation></semantics></math></span> Translate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">S,x,y</annotation></semantics></math></span> by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">-x</annotation></semantics></math></span>, and rename the translated set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>. Since translation preserves finiteness, boundedness, and closed convex hulls, this gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>P</mi><mo>⊃</mo></msub><mo>:</mo><mspace width="2em"/><mrow><mo fence="true">(</mo><mi mathvariant="normal">∃</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mi>y</mi></msub><mo fence="true">)</mo></mrow><mo>⇒</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">P_\supset:\qquad\p{\exists y\in X:S\subseteq D_y}\Rightarrow 0\notin\opn{\overline{conv}}S.</annotation></semantics></math></span> Using some first-order logic, we can rewrite this as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>P</mi><mo>⊃</mo></msub><mo>:</mo><mspace width="2em"/><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mrow><mo fence="true">(</mo><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mi>y</mi></msub><mo>⇒</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">P_\supset:\qquad\forall y\in X:\p{S\subseteq D_y\Rightarrow 0\notin\opn{\overline{conv}}S}.</annotation></semantics></math></span> Now dictate it to be true for all finite, bounded, or arbitrary <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>, and we get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup><mo>:</mo><mspace width="2em"/><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><munder><mo>⋃</mo><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mi>y</mi></msub></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></munder><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">P_\supset^{\mrm f,\mrm b,\mrm a}:\qquad\forall y\in X:
0\notin\bigcup_{\substack{S\subseteq D_y\\\mrm f,\mrm b,\mrm a}}\opn{\overline{conv}}S.</annotation></semantics></math></span> By the same argument, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup><mo>:</mo><mspace width="2em"/><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><munder><mo>⋃</mo><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><mi>S</mi><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></munder><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bar P_\supset^{\mrm f,\mrm b,\mrm a}:\qquad\forall y\in X\setminus\B0:
0\notin\bigcup_{\substack{S\subseteq\bar D_y\\\mrm f,\mrm b,\mrm a}}\opn{\overline{conv}}S.</annotation></semantics></math></span></p>
<p>One of the equivalent definitions of the convex hull is the set of all convex combinations of finitely many points in the set. Notice that for finite <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}S</annotation></semantics></math></span> is exactly the set of convex combinations of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>. Therefore, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mo>⋃</mo><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mi>y</mi></msub></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><mi mathvariant="normal">f</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">t</mi><mi mathvariant="normal">e</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></munder><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>=</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bigcup_{\substack{S\subseteq D_y\\\mrm{finite}}}\opn{\overline{conv}}S=\opn{conv}D_y.</annotation></semantics></math></span> Thus, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup><mo>:</mo><mspace width="2em"/><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">P_\supset^\mrm f:\qquad\forall y\in X:0\notin\opn{conv}D_y.</annotation></semantics></math></span></p>
<p>When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> can be any set such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">S\subseteq D_y</annotation></semantics></math></span>, one case is to have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>=</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">S=D_y</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mo>⋃</mo><mrow><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mi>y</mi></msub></mrow></munder><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>=</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bigcup_{S\subseteq D_y}\opn{\overline{conv}}S=\opn{\overline{conv}}D_y.</annotation></semantics></math></span> Thus, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup><mo>:</mo><mspace width="2em"/><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">P_\supset^\mrm a:\qquad\forall y\in X:0\notin\opn{\overline{conv}}D_y.</annotation></semantics></math></span></p>
<p>By the same arguments, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right" columnspacing=""><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup><mo>:</mo><mspace width="2em"/><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup><mo>:</mo><mspace width="2em"/><mi mathvariant="normal">∀</mi><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo>:</mo><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	\bar P_\supset^\mrm f:\qquad\forall y\in X\setminus\B0:0\notin\opn{conv}\bar D_y,\\
	\bar P_\supset^\mrm a:\qquad\forall y\in X\setminus\B0:0\notin\opn{\overline{conv}}\bar D_y.
\end{align*}</annotation></semantics></math></span> <span class="qed-wrapper qed-last"><span class="qed qed-last"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Definition <span id="thm:subdifferential">6</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space. Then, the <dfn>subdifferential</dfn> at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span> is defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>f</mi><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn><mo separator="true">,</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc Jx\ceq\set{f\in X^*}{\V f\le1,\fc fx=\V x}.</annotation></semantics></math></span> An element of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is called a <dfn>subgradient</dfn> at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span>. Moreover, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is said to be <dfn>smooth</dfn> at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> if there is a unique subgradient at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span>, and we say <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is <dfn>smooth</dfn> if it is smooth at every nonzero point.
</p>
<p class="no-indent">
<strong>Theorem <span id="thm:subdifferential-properties">7</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space. For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is a nonempty weak*-compact convex subset of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span>, and it has the following properties: <span id="eq:subdifferential-scaling" data-label="(3)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo>:</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mi>t</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\forall t\in\bR\setminus\B0:\fc J{tx}=\fc Jx\sgn t,</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(3)</annotation></semantics></math></span></span> </span></span> <span id="eq:subdifferential-inequality" data-label="(4)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mi>v</mi><mo>∈</mo><mi>X</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall f\in\fc Jx,v\in X:\V{x+v}\ge\V x+\fc fv.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(4)</annotation></semantics></math></span></span> </span></span>
</p>
<details>
<summary>
Proof
</summary>
<p>When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">x=0</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is the closed unit ball of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span>. It is weak*-compact by the <a href="https://en.wikipedia.org/wiki/Banach%E2%80%93Alaoglu_theorem" target="_blank" rel="external">Banach–Alaoglu theorem</a>. All other properties are trivial. From now on, we assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">x\ne0</annotation></semantics></math></span>.</p>
<p>To prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is nonempty, we define a linear functional <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">f_0</annotation></semantics></math></span> on the one-dimensional subspace <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi><mi>x</mi></mrow><annotation encoding="application/x-tex">\bR x</annotation></semantics></math></span> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>t</mi><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_0}{tx}\ceq t\V x</annotation></semantics></math></span>. We can easily find that this functional has norm <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>. By the <a href="https://en.wikipedia.org/wiki/Hahn%E2%80%93Banach_theorem#Continuous_extension_theorem" target="_blank" rel="external">norm-preserving Hahn–Banach continuous extension theorem</a>, we can extend it to a linear functional <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f\in X^*</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V f=1</annotation></semantics></math></span>. We can easily see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f\in\fc Jx</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is nonempty.</p>
<p>To prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is convex, let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>f</mi><mn>2</mn></msub><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f_1,f_2\in\fc Jx</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\lmd\in\b{0,1}</annotation></semantics></math></span>. By definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span>, we can easily see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><msub><mi>f</mi><mn>1</mn></msub><mo>+</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo fence="true">)</mo></mrow><msub><mi>f</mi><mn>2</mn></msub><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\lmd f_1+\p{1-\lmd}f_2\in\fc Jx</annotation></semantics></math></span>.</p>
<p>To prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is weak*-compact, first note that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>⋅</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\cdot x</annotation></semantics></math></span> is a weak*-continuous linear functional on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span> by the definition of the weak* topology. Its preimage of any closed set on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\bR</annotation></semantics></math></span> is then weak*-closed. Then, from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mi>f</mi><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn><mo fence="true">}</mo></mrow><mo>∩</mo><mrow><mo fence="true">{</mo><mi>f</mi><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow><mo>=</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>∩</mo><msup><mrow><mo fence="true">(</mo><mo>⋅</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc Jx=\set{f\in X^*}{\V f\le1}\cap\set{f\in X^*}{\fc fx=\V x}
=\fc J0\cap\fc{\p{\fc\cdot x}^{-1}}{\B{\V x}},</annotation></semantics></math></span> we see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is the intersection of a weak*-compact set and a weak*-closed set, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span> is weak*-compact.</p>
<p>Equation <a href="#eq:subdifferential-scaling">3</a> is easy to verify from the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span>.</p>
<p>To prove Equation <a href="#eq:subdifferential-inequality">4</a>, write <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mrow><mo fence="true">∣</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V x+\fc fv=\fc fx+\fc fv=\fc f{x+v}\le\v{\fc f{x+v}}\le\V f\V{x+v}=\V{x+v}.</annotation></semantics></math></span></p>
<p>All properties have been proven. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Definition <span id="thm:directional-derivative">8</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a vector space, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">v\in X</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>:</mo><mi>D</mi><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">f:D\to\bR</annotation></semantics></math></span> be a function defined on a subset <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">D\subseteq X</annotation></semantics></math></span>. The <dfn>directional derivative</dfn> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span> in the direction of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span> is a function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mi>f</mi><mo>:</mo><msup><mi>D</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\partial_v f:D&#x27;\to\bR</annotation></semantics></math></span> defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>t</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow></munder><mfrac><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><mi>t</mi></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\partial_v\fc fx\ceq\lim_{t\to0^+}\fr{\fc f{x+tv}-\fc fx}t.</annotation></semantics></math></span> The domain <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>D</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">D&#x27;</annotation></semantics></math></span> is all points where this expression makes sense (i.e., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> is a limit point of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>t</mi><mo>&gt;</mo><mn>0</mn><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo>∈</mo><mi>D</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\set{t&gt;0}{x+tv\in D}</annotation></semantics></math></span>) and the limit exists.
</p>
<p class="no-indent">
<strong>Theorem <span id="thm:subdifferential-directional-derivative">9</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">v\in X</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mrow><mo fence="true">∥</mo><mo>⋅</mo><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\partial_v\V\cdot</annotation></semantics></math></span> is defined on all of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>, and it satisfies <span id="eq:subdifferential-directional-derivative" data-label="(5)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>x</mi><mo>∈</mo><mi>X</mi><mo separator="true">,</mo><mi>t</mi><mo>&gt;</mo><mn>0</mn><mo>:</mo><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>=</mo><munder><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mfrac><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><mi>t</mi></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall x\in X,t&gt;0:\partial_v\V x=\max_{f\in\fc Jx}\fc fv
\le\fr{\V{x+tv}-\V x}t.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>5</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(5)</annotation></semantics></math></span></span> </span></span>
</p>
<details>
<summary>
Proof
</summary>
<p>For fixed <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>:</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>×</mo><mi>X</mi><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">g:\p{0,+\infty}\times X\to\bR</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>w</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><mi>t</mi></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc g{t,w}\ceq\fr{\V{x+tw}-\V x}t.</annotation></semantics></math></span> By Definition <span class="citation" data-cites="thm:directional-derivative"><a href="#thm:directional-derivative">8</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\partial_v\V x=\fc g{0^+,v}</annotation></semantics></math></span>.</p>
<p>First prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,w}</annotation></semantics></math></span> exists. By the triangle inequality, when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>&gt;</mo><mi>t</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t&#x27;&gt;t&gt;0</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi>w</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mfrac><mo>−</mo><mfrac><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>w</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><mi>t</mi></mfrac></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mfrac><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi>w</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mfrac><mo>−</mo><mfrac><mrow><mrow><mo fence="true">∥</mo><mfrac><mi>t</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mfrac><mi>x</mi><mo>+</mo><mi>t</mi><mi>w</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mfrac><mi>t</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mfrac><mi>x</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><mi>t</mi></mfrac></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	\fc g{t&#x27;,w}-\fc g{t,w}
	&amp;=\fr{\V{x+t&#x27;w}-\V x}{t&#x27;}-\fr{\V{x+tw}-\V x}t\\
	&amp;\ge\fr{\V{x+t&#x27;w}-\V x}{t&#x27;}-\fr{\V{\fr t{t&#x27;}x+tw}+\V{x-\fr t{t&#x27;}x}-\V x}t\\
	&amp;=0,
\end{align*}</annotation></semantics></math></span> so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>⋅</mo><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{\cdot,w}</annotation></semantics></math></span> is a monotonically non-decreasing function on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{0,+\infty}</annotation></semantics></math></span>. Also, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mfrac><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>w</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>w</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mo>−</mo><mi>t</mi><mi>w</mi><mo fence="true">∥</mo></mrow></mrow><mi>t</mi></mfrac><mo>=</mo><mo>−</mo><mrow><mo fence="true">∥</mo><mi>w</mi><mo fence="true">∥</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc g{t,w}\ge\fr{\V{x+tw}-\V{x+tw}-\V{-tw}}t=-\V w,</annotation></semantics></math></span> so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>⋅</mo><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{\cdot,w}</annotation></semantics></math></span> is bounded below. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,w}</annotation></semantics></math></span> exists.</p>
<p>To prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>&gt;</mo><mn>0</mn><mo>:</mo><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">\forall t&gt;0:\partial_v\V x\le\p{\V{x+tv}-\V x}/t</annotation></semantics></math></span>, note that this statement is exactly <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,v}\le\fc g{t,v}</annotation></semantics></math></span>, which follows from the monotonicity of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>⋅</mo><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{\cdot,v}</annotation></semantics></math></span>.</p>
<p>Then prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>max</mi><mo>⁡</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\max\fc fv</annotation></semantics></math></span> exists. This follows by maximizing the weak*-continuous function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>↦</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f\mapsto\fc fv</annotation></semantics></math></span> over the nonempty weak*-compact set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Jx</annotation></semantics></math></span>.</p>
<p>By Equation <a href="#eq:subdifferential-inequality">4</a>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\V{x+tv}\ge\V x+\fc f{tv}</annotation></semantics></math></span>, which simplifies to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{t,v}\ge\fc fv</annotation></semantics></math></span>. Maximize over <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f\in\fc Jx</annotation></semantics></math></span> and taking infimum over <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">t\in\p{0,+\infty}</annotation></semantics></math></span> on both sides to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>≥</mo><munder><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc g{0^+,v}\ge\max_{f\in\fc Jx}\fc fv.</annotation></semantics></math></span></p>
<p>Now we will explicitly construct a linear functional <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f_0\in X^*</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,v}=\fc{f_0}v</annotation></semantics></math></span> and later show that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f_0\in\fc Jx</annotation></semantics></math></span>. To construct it, we will use the Hahn–Banach dominated extension theorem, for which we need to construct a sublinear functional as the dominating functional. For that we use <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mo>⋅</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,\cdot}</annotation></semantics></math></span>.</p>
<p>First, we prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mo>⋅</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,\cdot}</annotation></semantics></math></span> is sublinear. The positive homogeneity, i.e., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>α</mi><mo>&gt;</mo><mn>0</mn><mo>:</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>α</mi><mi>w</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\forall \alp&gt;0:\fc g{0^+,\alp w}=\alp\fc g{0^+,w}</annotation></semantics></math></span>, is obvious from the definition. For subadditivity, convexity gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>t</mi><mrow><mo fence="true">(</mo><mi>w</mi><mo>+</mo><msup><mi>w</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>≤</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mn>2</mn><mi>t</mi><mi>w</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mn>2</mn><mi>t</mi><msup><mi>w</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{x+t\p{w+w&#x27;}}\le\fr12\V{x+2tw}+\fr12\V{x+2tw&#x27;}.</annotation></semantics></math></span> Subtract <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><annotation encoding="application/x-tex">\V x</annotation></semantics></math></span>, divide by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t&gt;0</annotation></semantics></math></span>, and take <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">t\to0^+</annotation></semantics></math></span> to obtain <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>w</mi><mo>+</mo><msup><mi>w</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>≤</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>w</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><msup><mi>w</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,w+w&#x27;}\le\fc g{0^+,w}+\fc g{0^+,w&#x27;}</annotation></semantics></math></span>.</p>
<p>Then, define a linear functional <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mo>:</mo><mi mathvariant="double-struck">R</mi><mi>v</mi><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">h:\bR v\to\bR</annotation></semantics></math></span> defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>α</mi><mi>v</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>α</mi><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc h{\alp v}\ceq\alp\fc g{0^+,v}</annotation></semantics></math></span>. We can check that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>α</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>:</mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>α</mi><mi>v</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>α</mi><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\forall\alp\in\bR:\fc h{\alp v}\le\fc g{0^+,\alp v}</annotation></semantics></math></span> so that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi></mrow><annotation encoding="application/x-tex">h</annotation></semantics></math></span> is dominated by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mo>⋅</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,\cdot}</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi><mi>v</mi></mrow><annotation encoding="application/x-tex">\bR v</annotation></semantics></math></span>. The check is trivial for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\alp\ge0</annotation></semantics></math></span>. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\alp&lt;0</annotation></semantics></math></span>, noticing that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>=</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>≤</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mo>−</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">0=\fc g{0^+,0}\le\fc g{0^+,v}+\fc g{0^+,-v}</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>α</mi><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mo>−</mo><mi>α</mi><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mo>−</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>α</mi><mi>v</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc h{\alp v}=\alp\fc g{0^+,v}\le-\alp\fc g{0^+,-v}=\fc g{0^+,\alp v}.</annotation></semantics></math></span></p>
<p>We can thus apply the <a href="https://en.wikipedia.org/wiki/Hahn%E2%80%93Banach_theorem#Hahn%E2%80%93Banach_theorem" target="_blank" rel="external">Hahn–Banach dominated extension theorem</a> to extend <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi></mrow><annotation encoding="application/x-tex">h</annotation></semantics></math></span> to a linear functional <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f_0\in X^*</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_0}v=\fc hv=\fc g{0^+,v}</annotation></semantics></math></span> and that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">f_0</annotation></semantics></math></span> is dominated by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mo>⋅</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,\cdot}</annotation></semantics></math></span> on all of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>.</p>
<p>Now we need to show that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f_0\in\fc Jx</annotation></semantics></math></span>. For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span>, we have <span id="eq:global-subgradient-inequality" data-label="(6)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mi>y</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mi>y</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{f_0}{y-x}\le\fc g{0^+,y-x}\le\fc g{1,y-x}=\V y-\V x,</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>6</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(6)</annotation></semantics></math></span></span> </span></span> where the first inequality is because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">f_0</annotation></semantics></math></span> is dominated by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>0</mn><mo>+</mo></msup><mo separator="true">,</mo><mo>⋅</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{0^+,\cdot}</annotation></semantics></math></span> and the second inequality is because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>⋅</mo><mo separator="true">,</mo><mi>y</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc g{\cdot,y-x}</annotation></semantics></math></span> is monotonically non-decreasing.</p>
<p>Substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> in Equation <a href="#eq:global-subgradient-inequality">6</a> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_0}x\ge\V x</annotation></semantics></math></span>. Substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>x</mi></mrow><annotation encoding="application/x-tex">2x</annotation></semantics></math></span> in Equation <a href="#eq:global-subgradient-inequality">6</a> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_0}x\le\V x</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_0}x=\V x</annotation></semantics></math></span>.</p>
<p>Substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>+</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">x+y</annotation></semantics></math></span> in Equation <a href="#eq:global-subgradient-inequality">6</a> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_0}y\le\V{x+y}-\V x\le\V y</annotation></semantics></math></span>. Substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>−</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">x-y</annotation></semantics></math></span> in Equation <a href="#eq:global-subgradient-inequality">6</a> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">-\fc{f_0}y\le\V{x-y}-\V x\le\V y</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\v{\fc{f_0}y}\le\V y</annotation></semantics></math></span>, which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>f</mi><mn>0</mn></msub><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{f_0}\le1</annotation></semantics></math></span>.</p>
<p>With <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_0}x=\V x</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>f</mi><mn>0</mn></msub><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{f_0}\le1</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f_0\in\fc Jx</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:share-subgradient-to-not-strictly-convex">10</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space. If there exist <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">u,v\in X\setminus\B0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo mathvariant="normal">≠</mo><mi>v</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">u/\V u\ne v/\V v</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow><mo>∩</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc Ju\cap\fc Jv\ne\varnothing</annotation></semantics></math></span>, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not strictly convex.
</p>
<details>
<summary>
Proof
</summary>
<p>
Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow><mo>∩</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f\in\fc Ju\cap\fc Jv</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>u</mi><mo>^</mo></mover><mo><mi mathvariant="normal">≔</mi></mo><mi>u</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\hat u\ceq u/\V u</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>v</mi><mo>^</mo></mover><mo><mi mathvariant="normal">≔</mi></mo><mi>v</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\hat v\ceq v/\V v</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mover accent="true"><mi>u</mi><mo>^</mo></mover><mo fence="true">)</mo></mrow><mo>=</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mover accent="true"><mi>v</mi><mo>^</mo></mover><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\fc f{\hat u}=\fc f{\hat v}=1</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V f\le 1</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mover accent="true"><mi>u</mi><mo>^</mo></mover><mo>+</mo><mover accent="true"><mi>v</mi><mo>^</mo></mover><mo fence="true">∥</mo></mrow><mo>≥</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mover accent="true"><mi>u</mi><mo>^</mo></mover><mo>+</mo><mover accent="true"><mi>v</mi><mo>^</mo></mover><mo fence="true">)</mo></mrow><mo>=</mo><mn>2.</mn></mrow><annotation encoding="application/x-tex">\V{\hat u+\hat v}\ge\fc f{\hat u+\hat v}=2.</annotation></semantics></math></span> On the other hand, by the triangle inequality, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mover accent="true"><mi>u</mi><mo>^</mo></mover><mo>+</mo><mover accent="true"><mi>v</mi><mo>^</mo></mover><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mover accent="true"><mi>u</mi><mo>^</mo></mover><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><mover accent="true"><mi>v</mi><mo>^</mo></mover><mo fence="true">∥</mo></mrow><mo>=</mo><mn>2.</mn></mrow><annotation encoding="application/x-tex">\V{\hat u+\hat v}\le\V{\hat u}+\V{\hat v}=2.</annotation></semantics></math></span> Squeezing by the two inequalities, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mover accent="true"><mi>u</mi><mo>^</mo></mover><mo>+</mo><mover accent="true"><mi>v</mi><mo>^</mo></mover><mo fence="true">∥</mo></mrow><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">\V{\hat u+\hat v}=2</annotation></semantics></math></span>. This means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not strictly convex. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span>
</p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:voronoi-cell-closure">11</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a strictly convex space and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in X\setminus\B0</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>=</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\overline{D_y}=\bar D_y</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline{D_y}</annotation></semantics></math></span> is the closure of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">D_y</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">D_y\subseteq\bar D_y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\bar D_y</annotation></semantics></math></span> is closed, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\overline{D_y}\subseteq\bar D_y</annotation></semantics></math></span>. Suppose for contradiction that there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>∈</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo>∖</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">u\in\bar D_y\setminus\overline{D_y}</annotation></semantics></math></span>.</p>
<p>Note that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo>∖</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo>∖</mo><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>a</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\bar D_y\setminus\overline{D_y}\subseteq\bar D_y\setminus D_y=\set{a\in X}{\V{y-a}=\V a},</annotation></semantics></math></span> so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{y-u}=\V u</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo mathvariant="normal">∉</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">u\notin\overline{D_y}</annotation></semantics></math></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\dlt&gt;0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo separator="true">,</mo><mi>δ</mi><mo fence="true">)</mo></mrow><mo>∩</mo><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc B{u,\dlt}\cap D_y=\varnothing</annotation></semantics></math></span>. In other words, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo separator="true">,</mo><mi>δ</mi><mo fence="true">)</mo></mrow><mo>:</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall a\in\fc B{u,\dlt}:\V{y-a}\ge\V a.</annotation></semantics></math></span> For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">v\in X\setminus\B0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mo>−</mo><mi>δ</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo separator="true">,</mo><mi>δ</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">t\in\p{-\dlt/\V v,\dlt/\V v}</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{u+tv-y}\ge\V{u+tv}.</annotation></semantics></math></span> Take the right derivatives of both sides w.r.t. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span> at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t=0</annotation></semantics></math></span>. Theorem <span class="citation" data-cites="thm:subdifferential-directional-derivative"><a href="#thm:subdifferential-directional-derivative">9</a></span> guarantees that the derivatives exist: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mrow><mo fence="true">∥</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><munder><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow></mrow></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\max_{f\in\fc J{u-y}}\fc fv=\partial_v\V{u-y}\ge\partial_v\V u=\max_{f\in\fc Ju}\fc fv.</annotation></semantics></math></span> Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Ju</annotation></semantics></math></span> is weak*-compact and convex by Theorem <span class="citation" data-cites="thm:subdifferential-properties"><a href="#thm:subdifferential-properties">7</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Ju\subseteq\fc J{u-y}</annotation></semantics></math></span>; otherwise the Hahn–Banach separation theorem breaks the inequality above.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Ju\subseteq\fc J{u-y}</annotation></semantics></math></span>
</summary>
<p>
Suppose for contradiction that there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mn>0</mn></msub><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow><mo>∖</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f_0\in\fc Ju\setminus\fc J{u-y}</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc J{u-y}</annotation></semantics></math></span> is weak*-compact and convex, by the Hahn–Banach separation theorem, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">v\in X</annotation></semantics></math></span> (the set of weak*-continuous linear functionals on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span>) such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>≤</mo><munder><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow></mrow></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\max_{f\in\fc J{u-y}}\fc fv&lt;\fc{f_0}v\le\max_{f\in\fc Ju}\fc fv.</annotation></semantics></math></span> This is a contradiction.
</p>
</details>
<p>We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow><mo>∩</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc Ju\cap\fc J{u-y}\ne\varnothing</annotation></semantics></math></span>. Here <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>−</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">u-y</annotation></semantics></math></span> are distinct nonzero vectors of equal norm, so their normalizations are distinct. By Theorem <span class="citation" data-cites="thm:share-subgradient-to-not-strictly-convex"><a href="#thm:share-subgradient-to-not-strictly-convex">10</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not strictly convex, a contradiction. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Definition <span id="thm:birkhoff-james-orthogonality">12</span></strong> (<a href="https://doi.org/10.1215/S0012-7094-35-00115-6" target="_blank" rel="external">Birkhoff, 1935</a>)<strong>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space, and let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u,y\in X</annotation></semantics></math></span>. We say <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is Birkhoff–James orthogonal to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>, denoted as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall t\in\bR:\V{u+ty}\ge\V u.</annotation></semantics></math></span> For a set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>H</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">H\subseteq X</annotation></semantics></math></span>, one denotes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>H</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">H\perp_\mrm{BJ}y</annotation></semantics></math></span> if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>u</mi><mo>∈</mo><mi>H</mi><mo>:</mo><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">\forall u\in H:u\perp_\mrm{BJ}y</annotation></semantics></math></span>.
</p>
<p class="no-indent">
<strong>Theorem <span id="thm:bj-orthogonal-existence">13</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>dim</mi><mo>⁡</mo><mi>X</mi><mo>≥</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">\dim X\ge2</annotation></semantics></math></span>. For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">v\in X\setminus\B0</annotation></semantics></math></span>, there always exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">u\in X\setminus\B0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v</annotation></semantics></math></span>. Such <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> always satisfies that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u,v</annotation></semantics></math></span> are linearly independent. Specially, when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is a strictly convex plane, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is unique up to a scalar multiple.
</p>
<details>
<summary>
Proof
</summary>
<p>First prove the existence. Choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u&#x27;\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u&#x27;,v</annotation></semantics></math></span> are linearly independent. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc ft\ceq\V{u&#x27;+tv}</annotation></semantics></math></span> is a continuous function of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\bR\to\bR</annotation></semantics></math></span>. By the triangle inequality, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc ft\ge\v t\V v-\V{u&#x27;}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>→</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\fc ft\to+\infty</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>→</mo><mo>±</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">t\to\pm\infty</annotation></semantics></math></span>. Such a continuous function must have a global minimum at some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>t</mi><mn>0</mn></msub><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">t_0\in\bR</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><msub><mi>t</mi><mn>0</mn></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\ceq u&#x27;+t_0v</annotation></semantics></math></span>, which must be nonzero as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u&#x27;,v</annotation></semantics></math></span> are linearly independent. Then, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">t\in\bR</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mrow><mo fence="true">(</mo><mi>t</mi><mo>+</mo><msub><mi>t</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><msub><mi>t</mi><mn>0</mn></msub><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\V{u+tv}=\V{u&#x27;+\p{t+t_0}v}\ge\V{u&#x27;+t_0v}=\V u,</annotation></semantics></math></span> so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v</annotation></semantics></math></span>.</p>
<p>Then prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u,v\ne0</annotation></semantics></math></span> imply that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u,v</annotation></semantics></math></span> are linearly independent. Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u,v</annotation></semantics></math></span> are linearly dependent, i.e., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>=</mo><msub><mi>t</mi><mn>0</mn></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u=t_0v</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>t</mi><mn>0</mn></msub><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">t_0\in\bR</annotation></semantics></math></span>. Then, by definition of the Birkhoff–James orthogonality, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">t\in\bR</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>t</mi><mn>0</mn></msub><mo>+</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∣</mo><msub><mi>t</mi><mn>0</mn></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\v{t_0+t}\V v=\V{u+tv}\ge\V u=\v{t_0}\V v.</annotation></semantics></math></span> Divide both sides by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><annotation encoding="application/x-tex">\V v</annotation></semantics></math></span> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>t</mi><mn>0</mn></msub><mo>+</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mo>≥</mo><mrow><mo fence="true">∣</mo><msub><mi>t</mi><mn>0</mn></msub><mo fence="true">∣</mo></mrow></mrow><annotation encoding="application/x-tex">\v{t_0+t}\ge\v{t_0}</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">t\in\bR</annotation></semantics></math></span>, which is false. By contradiction, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u,v</annotation></semantics></math></span> are linearly independent.</p>
<p>Finally, prove the uniqueness in a strictly convex plane. Suppose that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u&#x27;\perp_\mrm{BJ}v</annotation></semantics></math></span> and that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><mi>v</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u,u&#x27;,v\ne0</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi></mrow><annotation encoding="application/x-tex">u,v</annotation></semantics></math></span> are linearly independent and the space is a plane, they form a coordinate system. Then, we can express <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi></mrow><annotation encoding="application/x-tex">u&#x27;=ru+sv</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo separator="true">,</mo><mi>s</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r,s\in\bR</annotation></semantics></math></span>. We must have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r\ne0</annotation></semantics></math></span> because otherwise <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u&#x27;</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span> are linearly dependent. By <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u&#x27;\perp_\mrm{BJ}v</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{ru+sv+tv}\ge\V{ru+sv}</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">t\in\bR</annotation></semantics></math></span>. Divide both sides by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∣</mo><mi>r</mi><mo fence="true">∣</mo></mrow><annotation encoding="application/x-tex">\v r</annotation></semantics></math></span> and substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mi>s</mi></mrow><annotation encoding="application/x-tex">t\ceq-s</annotation></semantics></math></span> to get <span id="eq:bj-unique-1" data-label="(7)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mfrac><mi>s</mi><mi>r</mi></mfrac><mi>v</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V u\ge\V{u+\fr srv}.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>7</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(7)</annotation></semantics></math></span></span> </span></span> On the other hand, by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{u+tv}\ge\V u</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">t\in\bR</annotation></semantics></math></span>. Substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>s</mi><mi mathvariant="normal">/</mi><mi>r</mi></mrow><annotation encoding="application/x-tex">t\ceq s/r</annotation></semantics></math></span> to get <span id="eq:bj-unique-2" data-label="(8)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mfrac><mi>s</mi><mi>r</mi></mfrac><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{u+\fr srv}\ge\V u.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>8</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(8)</annotation></semantics></math></span></span> </span></span> Combining Equations <a href="#eq:bj-unique-1">7</a> and <a href="#eq:bj-unique-2">8</a>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mfrac><mi>s</mi><mi>r</mi></mfrac><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{u+\fr srv}=\V u.</annotation></semantics></math></span> Suppose by contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">s\ne0</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>x</mi><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mi>u</mi><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mfrac><mo separator="true">,</mo><mspace width="2em"/><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mrow><mi>u</mi><mo>+</mo><mfrac><mi>s</mi><mi>r</mi></mfrac><mi>v</mi></mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mfrac></mrow><annotation encoding="application/x-tex">x\ceq\fr u{\V u},\qquad x&#x27;\ceq\fr{u+\fr srv}{\V u}</annotation></semantics></math></span> are two distinct points on the unit sphere. Because the space is strictly convex, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">\V{x+x&#x27;}&lt;2</annotation></semantics></math></span>. On the other hand,
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>+</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo>=</mo><mfrac><mn>2</mn><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mfrac><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mfrac><mi>s</mi><mrow><mn>2</mn><mi>r</mi></mrow></mfrac><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mfrac><mn>2</mn><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mfrac><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>2</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\V{x+x&#x27;}=\fr2{\V u}\V{u+\fr s{2r}v}\ge\fr2{\V u}\V u=2,</annotation></semantics></math></span> where the inequality is by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v</annotation></semantics></math></span>. This is a contradiction, so we must have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">s=0</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mi>r</mi><mi>u</mi></mrow><annotation encoding="application/x-tex">u&#x27;=ru</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r\in\bR</annotation></semantics></math></span>, which proves the uniqueness of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> up to a scalar multiple. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
</details>
<h2 data-label="0.4" id="inner-product-spaces">Inner product spaces</h2>
<details>
<summary>
Lemmas
</summary>
<p class="no-indent">
<strong>Lemma <span id="thm:kakutani">14</span></strong> (<a href="https://doi.org/10.4099/jjm1924.16.0_93" target="_blank" rel="external">Kakutani, 1939</a>, Theorem 4)<strong>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span> be a 3-dimensional normed space. If every 2-dimensional vector subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>W</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">W^*</annotation></semantics></math></span> is the range of a linear projection of norm <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span> is an inner product space.
</p>
<p class="no-indent">
<strong>Lemma <span id="thm:hilbert-projection">15</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a Hilbert space, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">C\subseteq X</annotation></semantics></math></span> be nonempty, closed, and convex, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span>. Then, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">p\in C</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>p</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\forall a\in C:\a{a-p,p-x}\ge0</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>
By the <a href="https://en.wikipedia.org/wiki/Hilbert_projection_theorem" target="_blank" rel="external">Hilbert projection theorem</a>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">p\in C</annotation></semantics></math></span> such that <span id="eq:hilbert-projection" data-label="(9)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>c</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>c</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall c\in C:\V{x-p}\le\V{x-c}.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>9</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(9)</annotation></semantics></math></span></span> </span></span> Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span> is convex, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo separator="true">,</mo><mi>t</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow><mo>:</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>p</mi><mo>+</mo><mi>t</mi><mi>a</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">\forall a\in C,t\in\b{0,1}:\p{1-t}p+ta\in C</annotation></semantics></math></span>. Substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>p</mi><mo>+</mo><mi>t</mi><mi>a</mi></mrow><annotation encoding="application/x-tex">c\ceq\p{1-t}p+ta</annotation></semantics></math></span> into Equation <a href="#eq:hilbert-projection">9</a> and square both sides to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow><mo>:</mo><msup><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>p</mi><mo>−</mo><mi>t</mi><mi>a</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>≥</mo><msup><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall t\in\b{0,1}:\V{x-\p{1-t}p-ta}^2\ge\V{x-p}^2.</annotation></semantics></math></span> Subtract <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\V{x-p}^2</annotation></semantics></math></span> from both sides and divide both sides by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>t</mi></mrow><annotation encoding="application/x-tex">2t</annotation></semantics></math></span> (assuming <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t\ne0</annotation></semantics></math></span>) to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow><mo>:</mo><mrow><mo fence="true">⟨</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>a</mi><mo fence="true">⟩</mo></mrow><mo>+</mo><mfrac><mi>t</mi><mn>2</mn></mfrac><msup><mrow><mo fence="true">∥</mo><mi>p</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>≥</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\forall t\in\left(0,1\right]:\a{x-p,p-a}+\fr t2\V{p-a}^2\ge0.</annotation></semantics></math></span> Take infimum over <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span> on both sides, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>a</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\a{x-p,p-a}\ge0</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span>
</p>
</details>
<p class="no-indent">
<strong>Lemma <span id="thm:finite-restricting-set">16</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a finite-dimensional normed space. For any nonempty compact convex set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span>, there exists a finite set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>⊆</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">S&#x27;\subseteq S</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>y</mi><mo>⊆</mo><mi>S</mi><mo>⇒</mo><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">S&#x27;-y\subseteq S\Rightarrow y=0</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is a singleton, take <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mi>S</mi></mrow><annotation encoding="application/x-tex">S&#x27;\ceq S</annotation></semantics></math></span>. Otherwise, let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal">span</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo>−</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">W\ceq\opc{span}{S-S}</annotation></semantics></math></span> and choose a basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>B</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">B^*</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>W</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">W^*</annotation></semantics></math></span>. Fix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mn>0</mn></msub><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a_0\in S</annotation></semantics></math></span> and interpret <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϕ</mi></mrow><annotation encoding="application/x-tex">\phi</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> as the affine function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>↦</mo><mi>ϕ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><msub><mi>a</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">a\mapsto\fc\phi{a-a_0}</annotation></semantics></math></span>. For each <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϕ</mi><mo>∈</mo><msup><mi>B</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">\phi\in B^*</annotation></semantics></math></span>, choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>p</mi><mi>ϕ</mi><mo>−</mo></msubsup><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">p^-_\phi\in S</annotation></semantics></math></span> that minimizes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϕ</mi></mrow><annotation encoding="application/x-tex">\phi</annotation></semantics></math></span> and choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>p</mi><mi>ϕ</mi><mo>+</mo></msubsup><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">p^+_\phi\in S</annotation></semantics></math></span> that maximizes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϕ</mi></mrow><annotation encoding="application/x-tex">\phi</annotation></semantics></math></span>. Such points must exist because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is compact.</p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><msubsup><mi>p</mi><mi>ϕ</mi><mo>−</mo></msubsup><mo separator="true">,</mo><msubsup><mi>p</mi><mi>ϕ</mi><mo>+</mo></msubsup><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>ϕ</mi><mo>∈</mo><msup><mi>B</mi><mo>∗</mo></msup><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S&#x27;\ceq\set{p^-_\phi,p^+_\phi}{\phi\in B^*}</annotation></semantics></math></span>. Suppose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>y</mi><mo>⊆</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">S&#x27;-y\subseteq S</annotation></semantics></math></span>. Obviously, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>W</mi></mrow><annotation encoding="application/x-tex">y\in W</annotation></semantics></math></span>. For every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϕ</mi><mo>∈</mo><msup><mi>B</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">\phi\in B^*</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>ϕ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msubsup><mi>p</mi><mi>ϕ</mi><mo>+</mo></msubsup><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>ϕ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msubsup><mi>p</mi><mi>ϕ</mi><mo>+</mo></msubsup><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><mi>ϕ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msubsup><mi>p</mi><mi>ϕ</mi><mo>−</mo></msubsup><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>ϕ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msubsup><mi>p</mi><mi>ϕ</mi><mo>−</mo></msubsup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\phi{p^+_\phi-y}\le\fc\phi{p^+_\phi},\qquad
\fc\phi{p^-_\phi-y}\ge\fc\phi{p^-_\phi}.</annotation></semantics></math></span> The two inequalities forces <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ϕ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\phi y=0</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:inner-product-to-bar-p1a">17</span>.</strong> An inner product space satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm a</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be an inner product space. Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm a</annotation></semantics></math></span>. By Theorem <span class="citation" data-cites="thm:voronoi-cell-equivalence"><a href="#thm:voronoi-cell-equivalence">5</a></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in X\setminus\B0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\in\opn{\overline{conv}}\bar D_y</annotation></semantics></math></span>. Therefore, there exists a sequence of finite sets <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{S^{\p n}}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">S^{\p n}\subseteq\bar D_y</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> and that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup></mrow></msub><msubsup><mi>λ</mi><mi>a</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msubsup><mi>a</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_{a\in S^{\p n}}\lmd^{\p n}_aa\to0</annotation></semantics></math></span>, where, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>λ</mi><mi>a</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msubsup><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd^{\p n}_a\ge0</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">a\in S^{\p n}</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>a</mi></msub><msubsup><mi>λ</mi><mi>a</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msubsup><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_a\lmd^{\p n}_a=1</annotation></semantics></math></span>.</p>
<p>By Definition <span class="citation" data-cites="thm:voronoi-cell"><a href="#thm:voronoi-cell">4</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a-y}\le\V a</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">a\in S^{\p n}</annotation></semantics></math></span>. Square both sides and simplify, and we get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>a</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><msup><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\a{a,y}\ge\V y^2/2</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup></mrow></munder><msubsup><mi>λ</mi><mi>a</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msubsup><mi>a</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup></mrow></munder><msubsup><mi>λ</mi><mi>a</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msubsup><mrow><mo fence="true">⟨</mo><mi>a</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup></mrow></munder><msubsup><mi>λ</mi><mi>a</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msubsup><mfrac><msup><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mn>2</mn></mfrac><mo>=</mo><mfrac><msup><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mn>2</mn></mfrac><mo>&gt;</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\a{\sum_{a\in S^{\p n}}\lmd^{\p n}_aa,y}
=\sum_{a\in S^{\p n}}\lmd^{\p n}_a\a{a,y}
\ge\sum_{a\in S^{\p n}}\lmd^{\p n}_a\fr{\V y^2}2=\fr{\V y^2}2&gt;0.</annotation></semantics></math></span> On the other hand, because the inner product is continuous, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup></mrow></munder><msubsup><mi>λ</mi><mi>a</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msubsup><mi>a</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><mo>→</mo><mrow><mo fence="true">⟨</mo><mn>0</mn><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\a{\sum_{a\in S^{\p n}}\lmd^{\p n}_aa,y}\to\a{0,y}=0,</annotation></semantics></math></span> which is a contradiction. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:not-inner-product-to-not-p1f">18</span>.</strong> If a normed space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>dim</mi><mo>⁡</mo><mi>X</mi><mo>≥</mo><mn>3</mn></mrow><annotation encoding="application/x-tex">\dim X\ge3</annotation></semantics></math></span> is not an inner product space, then it does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm f</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm f</annotation></semantics></math></span>. Pick a non-inner-product 3-dimensional subspace <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">W\subseteq X</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span> exists
</summary>
<p>
The Jordan–von Neumann theorem states that a normed space is an inner product space if the norm satisfies the parallelogram law. Therefore, because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not an inner product space, there exist <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u,v\in X</annotation></semantics></math></span> failing the parallelogram law. Pick <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>w</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mi mathvariant="normal">span</mi><mo>⁡</mo><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">w\in X\setminus\opn{span}\B{u,v}</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal">span</mi><mo>⁡</mo><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo separator="true">,</mo><mi>w</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">W\ceq\opn{span}\B{u,v,w}</annotation></semantics></math></span> is a 3-dimensional subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> that is not an inner product space.
</p>
</details>
<p>For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>W</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in W\setminus\B0</annotation></semantics></math></span>, consider <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>C</mi><mi>y</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>D</mi><mi>y</mi></msub><mo>∩</mo><mi>W</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">C_y\ceq\opc{conv}{D_y\cap W}</annotation></semantics></math></span>. Since <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>∩</mo><mi>W</mi></mrow><annotation encoding="application/x-tex">D_y\cap W</annotation></semantics></math></span> is open in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>C</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">C_y</annotation></semantics></math></span> is open in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span>. By <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm f</annotation></semantics></math></span> and Theorem <span class="citation" data-cites="thm:voronoi-cell-equivalence"><a href="#thm:voronoi-cell-equivalence">5</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\notin\opn{conv}D_y</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><msub><mi>C</mi><mi>y</mi></msub><mo>⊆</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\notin C_y\subseteq\opn{conv}D_y</annotation></semantics></math></span>. By the <a href="https://en.wikipedia.org/wiki/Hahn%E2%80%93Banach_theorem#Geometric_Hahn%E2%80%93Banach_(the_Hahn%E2%80%93Banach_separation_theorems)" target="_blank" rel="external">Hahn–Banach separation theorem</a>, there exists a continuous linear functional <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mi>y</mi></msub><mo>∈</mo><msup><mi>W</mi><mo>∗</mo></msup><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">f_y\in W^*\setminus\B0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><msub><mi>C</mi><mi>y</mi></msub><mo>:</mo><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\forall a\in C_y:\fc{f_y}a&gt;0</annotation></semantics></math></span>. Since <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><msub><mi>D</mi><mi>y</mi></msub><mo>∩</mo><mi>W</mi><mo>⊆</mo><msub><mi>C</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">y\in D_y\cap W\subseteq C_y</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{f_y}y&gt;0</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>z</mi><mo>−</mo><mfrac><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mi>y</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{Q_y}z\ceq z-\fr{\fc{f_y}z}{\fc{f_y}y}y.</annotation></semantics></math></span> Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Q</mi><mi>y</mi></msub><mo>:</mo><mi>W</mi><mo>→</mo><mi>W</mi></mrow><annotation encoding="application/x-tex">Q_y:W\to W</annotation></semantics></math></span> is a linear projection from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span> onto <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\opn{ker}f_y</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>Q</mi><mi>y</mi></msub><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{Q_y}=1</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Q</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">Q_y</annotation></semantics></math></span> is a projection onto <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\opn{ker}f_y</annotation></semantics></math></span>
</summary>
<p>First, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\fc{Q_y}z\in\opn{ker}f_y</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>∈</mo><mi>W</mi></mrow><annotation encoding="application/x-tex">z\in W</annotation></semantics></math></span> because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><mfrac><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mfrac><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\fc{f_y}{\fc{Q_y}z}=\fc{f_y}z-\fr{\fc{f_y}z}{\fc{f_y}y}\fc{f_y}y=0.</annotation></semantics></math></span></p>
<p>Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Q</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">Q_y</annotation></semantics></math></span> is a projection because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><mi>z</mi><mo>−</mo><mfrac><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mi>y</mi><mo>−</mo><mfrac><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mrow><mo fence="true">(</mo><mi>y</mi><mo>−</mo><mfrac><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><mrow><msub><mi>f</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{Q_y}{\fc{Q_y}z}
=z-\fr{\fc{f_y}z}{\fc{f_y}y}y
-\fr{\fc{f_y}z}{\fc{f_y}y}\p{y-\fr{\fc{f_y}y}{\fc{f_y}y}y}
=\fc{Q_y}z.</annotation></semantics></math></span></p>
<p>Finally, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Q</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">Q_y</annotation></semantics></math></span> maps onto every point in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\opn{ker}f_y</annotation></semantics></math></span> because for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">z\in\opn{ker}f_y</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>z</mi></mrow><annotation encoding="application/x-tex">\fc{Q_y}z=z</annotation></semantics></math></span>.</p>
</details>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>Q</mi><mi>y</mi></msub><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{Q_y}=1</annotation></semantics></math></span>
</summary>
<p>Generally, any nonzero bounded linear projection has norm at least <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> by submultiplicativity, so we just need to show <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>Q</mi><mi>y</mi></msub><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{Q_y}\le1</annotation></semantics></math></span>.</p>
<p>For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">a\in\opn{ker}f_y</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo mathvariant="normal">∉</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">a\notin D_y</annotation></semantics></math></span>, which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a-y}\ge\V a</annotation></semantics></math></span>. Similarly, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">a\in\opn{ker}f_y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">t\in\bR\setminus\B0</annotation></semantics></math></span>, we also have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mi mathvariant="normal">/</mi><mi>t</mi><mo mathvariant="normal">∉</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">a/t\notin D_y</annotation></semantics></math></span>, which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mi mathvariant="normal">/</mi><mi>t</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mi mathvariant="normal">/</mi><mi>t</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a/t-y}\ge\V{a/t}</annotation></semantics></math></span>, or equivalently <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a-ty}\ge\V a</annotation></semantics></math></span>. This inequality obviously also holds for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t=0</annotation></semantics></math></span>.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">∉</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">y\notin\opn{ker}f_y</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi><mo>=</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub><mo>⊕</mo><mi mathvariant="double-struck">R</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">W=\opn{ker}f_y\oplus\bR y</annotation></semantics></math></span>. Therefore, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>∈</mo><mi>W</mi></mrow><annotation encoding="application/x-tex">z\in W</annotation></semantics></math></span>, there exist unique <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>f</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">a\in\opn{ker}f_y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">t\in\bR</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>=</mo><mi>a</mi><mo>−</mo><mi>t</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">z=a-ty</annotation></semantics></math></span>. Then, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><msub><mi>Q</mi><mi>y</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>t</mi><mi>y</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>z</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{\fc{Q_y}z}=\V{\fc{Q_y}{a-ty}}=\V{a}\le\V{a-ty}=\V z.</annotation></semantics></math></span> This shows <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>Q</mi><mi>y</mi></msub><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{Q_y}\le1</annotation></semantics></math></span>.</p>
</details>
<p>Then, the adjoint <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>Q</mi><mi>y</mi><mo>∗</mo></msubsup><mo>:</mo><msup><mi>W</mi><mo>∗</mo></msup><mo>→</mo><msup><mi>W</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">Q_y^*:W^*\to W^*</annotation></semantics></math></span> is a linear projection from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>W</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">W^*</annotation></semantics></math></span> onto <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">(</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>Q</mi><mi>y</mi></msub><mo fence="true">)</mo></mrow><mo>⊥</mo></msup></mrow><annotation encoding="application/x-tex">\p{\opn{ker}Q_y}^\perp</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msubsup><mi>Q</mi><mi>y</mi><mo>∗</mo></msubsup><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{Q_y^*}=1</annotation></semantics></math></span>. Noticing that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">ker</mi><mo>⁡</mo><msub><mi>Q</mi><mi>y</mi></msub><mo>=</mo><mi mathvariant="double-struck">R</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">\opn{ker}Q_y=\bR y</annotation></semantics></math></span>, we have that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>Q</mi><mi>y</mi><mo>∗</mo></msubsup></mrow><annotation encoding="application/x-tex">Q_y^*</annotation></semantics></math></span> is onto <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>y</mi><mo>=</mo><mrow><mo fence="true">{</mo><mi>g</mi><mo>∈</mo><msup><mi>W</mi><mo>∗</mo></msup><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\opn{ker}y=\set{g\in W^*}{\fc gy=0}</annotation></semantics></math></span>.</p>
<p>In general, any hyperplane in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>W</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">W^*</annotation></semantics></math></span> can be expressed as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">\opn{ker}y</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>W</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in W\setminus\B0</annotation></semantics></math></span>. Therefore, by Lemma <span class="citation" data-cites="thm:kakutani"><a href="#thm:kakutani">14</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>W</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">W^*</annotation></semantics></math></span> is an inner product space, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span> is an inner product space. This contradicts with the choice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span> is not an inner product space.</p>
<p>Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm f</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:hilbert-to-p2a">19</span>.</strong> A Hilbert space satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm a</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>
Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a Hilbert space. Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mi>C</mi><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\notin C\ceq\opn{\overline{conv}}S</annotation></semantics></math></span>. By Lemma <span class="citation" data-cites="thm:hilbert-projection"><a href="#thm:hilbert-projection">15</a></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">p\in C</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>p</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\forall a\in C:\a{a-p,p-x}\ge0</annotation></semantics></math></span>. Consider <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>=</mo><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>+</mo><mn>2</mn><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>p</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>+</mo><msup><mrow><mo fence="true">∥</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>≥</mo><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{a-x}^2=\V{a-p}^2+2\a{a-p,p-x}+\V{p-x}^2\ge\V{a-p}^2+\V{x-p}^2.</annotation></semantics></math></span> Subtract <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\V{x-p}^2</annotation></semantics></math></span> from both sides to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>≤</mo><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>−</mo><msup><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>p</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>&lt;</mo><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{a-p}^2\le\V{a-x}^2-\V{x-p}^2&lt;\V{a-x}^2.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">p\in\fc I{S,x}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc I{S,x}\ne\varnothing</annotation></semantics></math></span>, proving <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm a</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span>
</p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:not-hilbert-to-not-bar-p2a">20</span>.</strong> An inner product space that is not a Hilbert space does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm a</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be an inner product space that is not a Hilbert space. Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>X</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\hat X</annotation></semantics></math></span> be the completion of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>, which is a Hilbert space, and choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>∈</mo><mover accent="true"><mi>X</mi><mo>^</mo></mover><mo>∖</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">z\in\hat X\setminus X</annotation></semantics></math></span>. Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>a</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">⟨</mo><mi>a</mi><mo separator="true">,</mo><mi>z</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mn>1</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S\ceq\set{a\in X}{\a{a,z}=1}</annotation></semantics></math></span>, which is a nonempty closed affine hyperplane in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is nonempty and closed
</summary>
<p>Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is empty. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>⊥</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">z\perp X</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is dense in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>X</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\hat X</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>⊥</mo><mover accent="true"><mi>X</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">z\perp \hat X</annotation></semantics></math></span>, which implies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">z=0</annotation></semantics></math></span>. This contradicts with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo mathvariant="normal">∉</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">z\notin X</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is nonempty.</p>
<p>To see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is closed, notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mo>⋅</mo><mo separator="true">,</mo><mi>z</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a{\cdot,z}</annotation></semantics></math></span> is a bounded linear functional on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>X</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\hat X</annotation></semantics></math></span>, so it is a bounded linear functional on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>.</p>
</details>
<p>Obviously, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi>S</mi><mo>=</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">0\notin S=\opn{\overline{conv}}S</annotation></semantics></math></span>. Now suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,0}\setminus\B0</annotation></semantics></math></span>, which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>≤</mo><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\forall a\in S:\V{a-y}^2\le\V a^2</annotation></semantics></math></span>. Expanding the square gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>a</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><msup><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\a{a,y}\ge\V y^2/2</annotation></semantics></math></span>. Therefore, the linear functional <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mo>⋅</mo><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a{\cdot,y}</annotation></semantics></math></span> is bounded below on the affine hyperplane <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mo>⋅</mo><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a{\cdot,y}</annotation></semantics></math></span> is constant on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mo>⋅</mo><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a{\cdot,y}</annotation></semantics></math></span> is zero on the linear hyperplane <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">ker</mi><mo>⁡</mo><mrow><mo fence="true">⟨</mo><mo>⋅</mo><mo separator="true">,</mo><mi>z</mi><mo fence="true">⟩</mo></mrow></mrow><annotation encoding="application/x-tex">\opn{ker}\a{\cdot,z}</annotation></semantics></math></span> parallel to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>. This means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">ker</mi><mo>⁡</mo><mrow><mo fence="true">⟨</mo><mo>⋅</mo><mo separator="true">,</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><mrow><mo fence="true">⟨</mo><mo>⋅</mo><mo separator="true">,</mo><mi>z</mi><mo fence="true">⟩</mo></mrow></mrow><annotation encoding="application/x-tex">\opn{ker}\a{\cdot,y}=\opn{ker}\a{\cdot,z}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is parallel to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>. However, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo mathvariant="normal">∉</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">z\notin X</annotation></semantics></math></span> while <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span>, so this is impossible for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y\ne0</annotation></semantics></math></span>, a contradiction. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,0}\setminus\B0=\varnothing</annotation></semantics></math></span>.</p>
<p>Therefore, we find a counterexample to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm a</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:inner-product-to-p2b">21</span>.</strong> An inner product space satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm b</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be an inner product space and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span>. Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> be bounded and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\notin\opn{\overline{conv}}S</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is bounded, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">S-x</annotation></semantics></math></span> is bounded, so there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">M&gt;0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mi>M</mi></mrow><annotation encoding="application/x-tex">\forall a\in S:\V{a-x}\le M</annotation></semantics></math></span>.</p>
<p>Denote <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>X</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\hat X</annotation></semantics></math></span> the completion of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>, which is a Hilbert space. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mi>C</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo></mrow><mover accent="true"><mi>X</mi><mo>^</mo></mover></msub><mi>S</mi></mrow><annotation encoding="application/x-tex">x\notin C\ceq\opn{\overline{conv}}_{\hat X}S</annotation></semantics></math></span>, either. By Lemma <span class="citation" data-cites="thm:hilbert-projection"><a href="#thm:hilbert-projection">15</a></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">p\in C</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>p</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\forall a\in C:\a{a-p,p-x}\ge0</annotation></semantics></math></span>. Add both sides by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⟨</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\dlt\ceq\a{p-x,p-x}&gt;0</annotation></semantics></math></span> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><mi>δ</mi></mrow><annotation encoding="application/x-tex">\a{a-x,p-x}\ge\dlt</annotation></semantics></math></span>.</p>
<p>Now, choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">v\in X</annotation></semantics></math></span> close enough to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">p-x</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>v</mi><mo>−</mo><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mi mathvariant="normal">min</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mi>M</mi></mrow></mfrac><mo separator="true">,</mo><mrow><mo fence="true">∥</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\V{v-\p{p-x}}&lt;\opc{min}{\fr\dlt{2M},\V{p-x}},</annotation></semantics></math></span> which is always possible because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is dense in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>X</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\hat X</annotation></semantics></math></span>. Then, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo separator="true">,</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>+</mo><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo separator="true">,</mo><mi>v</mi><mo>−</mo><mi>p</mi><mo>+</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>≥</mo><mi>δ</mi><mo>−</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><mi>v</mi><mo>−</mo><mi>p</mi><mo>+</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mi>δ</mi><mi mathvariant="normal">/</mi><mn>2.</mn></mrow><annotation encoding="application/x-tex">\a{a-x,v}=\a{a-x,p-x}+\a{a-x,v-p+x}\ge\dlt-\V{a-x}\V{v-p+x}&gt;\dlt/2.</annotation></semantics></math></span></p>
<p>By the triangle inequality, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>v</mi><mo>−</mo><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\V v\ge\V{p-x}-\V{v-\p{p-x}}&gt;0.</annotation></semantics></math></span> We can then choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>&lt;</mo><mi>t</mi><mo>&lt;</mo><mi>δ</mi><mi mathvariant="normal">/</mi><msup><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">0&lt;t&lt;\dlt/\V v^2</annotation></semantics></math></span> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>=</mo><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>−</mo><mi>t</mi><msup><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mrow><mo fence="true">(</mo><mfrac><mrow><mn>2</mn><mrow><mo fence="true">⟨</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">⟩</mo></mrow></mrow><msup><mrow><mo fence="true">∥</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup></mfrac><mo>−</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{a-\p{x+tv}}^2=\V{a-x}^2-t\V v^2\p{\fr{2\a{a-x,v}}{\V v^2}-t}&lt;\V{a-x}^2.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x+tv\in\fc I{S,x}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc I{S,x}\ne\varnothing</annotation></semantics></math></span>, proving <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm b</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:finite-dimension-not-inner-product-to-not-bar-p2f">22</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>3</mn><mo>≤</mo><mi>dim</mi><mo>⁡</mo><mi>X</mi><mo>&lt;</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">3\le\dim X&lt;\infty</annotation></semantics></math></span>. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not an inner product space, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm f</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not an inner product space, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span> is not an inner product space. By Theorem <span class="citation" data-cites="thm:not-inner-product-to-not-p1f"><a href="#thm:not-inner-product-to-not-p1f">18</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span> does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm f</annotation></semantics></math></span>. This means there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">h\in X^*</annotation></semantics></math></span> and a finite set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo>∗</mo></msup><mo>⊆</mo><msub><mi>D</mi><mi>h</mi></msub></mrow><annotation encoding="application/x-tex">S^*\subseteq D_h</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">0\in\opn{conv}S^*</annotation></semantics></math></span>. There exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>f</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\lmd_f}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>f</mi></msub><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_f\ge0</annotation></semantics></math></span> for every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f\in S^*</annotation></semantics></math></span>, that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow></msub><msub><mi>λ</mi><mi>f</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_{f\in S^*}\lmd_f=1</annotation></semantics></math></span>, and that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow></msub><msub><mi>λ</mi><mi>f</mi></msub><mi>f</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_{f\in S^*}\lmd_ff=0</annotation></semantics></math></span>. Without loss of generality, we can assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>f</mi></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_f&gt;0</annotation></semantics></math></span> for every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f\in S^*</annotation></semantics></math></span> because we can always discard such <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span> that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>f</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_f=0</annotation></semantics></math></span> from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">S^*</annotation></semantics></math></span>.</p>
<p>For every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f\in S^*</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>S</mi><mi>f</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>a</mi><mo>∈</mo><mover accent="true"><mi>B</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">S_f\ceq\set{a\in\fc{\bar B}{0,1}}{\fc fa=\V f},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>B</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar B}{0,1}</annotation></semantics></math></span> is the closed unit ball in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>. We then have <span id="eq:finite-dimension-not-inner-product-to-not-bar-p2f-1" data-label="(10)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><msub><mi>S</mi><mi>f</mi></msub><mo>:</mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">(</mo><mi>h</mi><mo>−</mo><mi>f</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>h</mi><mo>−</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\forall a\in S_f:\fc ha=\fc fa+\fc{\p{h-f}}a\ge\V f-\V{h-f}\V a&gt;0,</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>10</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(10)</annotation></semantics></math></span></span> </span></span> where the last inequality is by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi>D</mi><mi>h</mi></msub></mrow><annotation encoding="application/x-tex">f\in D_h</annotation></semantics></math></span>.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is finite-dimensional, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>B</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar B}{0,1}</annotation></semantics></math></span> is compact, so every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mi>f</mi></msub></mrow><annotation encoding="application/x-tex">S_f</annotation></semantics></math></span> is a nonempty compact convex set. By Lemma <span class="citation" data-cites="thm:finite-restricting-set"><a href="#thm:finite-restricting-set">16</a></span>, there exists finite set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>S</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>⊆</mo><msub><mi>S</mi><mi>f</mi></msub></mrow><annotation encoding="application/x-tex">S&#x27;_f\subseteq S_f</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>S</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>−</mo><mi>y</mi><mo>⊆</mo><msub><mi>S</mi><mi>f</mi></msub><mo>⇒</mo><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">S&#x27;_f-y\subseteq S_f\Rightarrow y=0</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mo>⋃</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow></msub><msubsup><mi>S</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">S\ceq\bigcup_{f\in S^*}S&#x27;_f</annotation></semantics></math></span>. By Equation <a href="#eq:finite-dimension-not-inner-product-to-not-bar-p2f-1">10</a>, we then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\forall a\in S:\fc ha&gt;0</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">0\notin\opn{conv}S</annotation></semantics></math></span>.</p>
<p>Now let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,0}</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\forall a\in S:\V{a-y}\le\V a=1</annotation></semantics></math></span>. On the other hand, for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>S</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">a\in S&#x27;_f</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mfrac><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow></mfrac><mo>=</mo><mn>1</mn><mo>−</mo><mfrac><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{a-y}\ge\fr{\fc f{a-y}}{\V f}=1-\fr{\fc fy}{\V f}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc fy\ge0</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>f</mi></msub><msub><mi>λ</mi><mi>f</mi></msub><mi>f</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_f\lmd_ff=0</annotation></semantics></math></span> forces <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc fy=0</annotation></semantics></math></span>. Then, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>S</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">a\in S&#x27;_f</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc f{a-y}=\V f</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{a-y}\le1</annotation></semantics></math></span>, which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>−</mo><mi>y</mi><mo>∈</mo><msub><mi>S</mi><mi>f</mi></msub></mrow><annotation encoding="application/x-tex">a-y\in S_f</annotation></semantics></math></span>. We now have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>S</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>−</mo><mi>y</mi><mo>⊆</mo><msub><mi>S</mi><mi>f</mi></msub></mrow><annotation encoding="application/x-tex">S&#x27;_f-y\subseteq S_f</annotation></semantics></math></span>, implying <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span>.</p>
<p>Therefore, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,0}=\B0</annotation></semantics></math></span>. This gives a counterexample to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm f</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:not-inner-product-to-not-bar-p2b">23</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>dim</mi><mo>⁡</mo><mi>X</mi><mo>≥</mo><mn>3</mn></mrow><annotation encoding="application/x-tex">\dim X\ge3</annotation></semantics></math></span>. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not an inner product space, then it does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm b</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not an inner product space, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span> is not an inner product space. By Theorem <span class="citation" data-cites="thm:not-inner-product-to-not-p1f"><a href="#thm:not-inner-product-to-not-p1f">18</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span> does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm f</annotation></semantics></math></span>. By Theorem <span class="citation" data-cites="thm:voronoi-cell-equivalence"><a href="#thm:voronoi-cell-equivalence">5</a></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">h\in X^*\setminus\B0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>h</mi></msub></mrow><annotation encoding="application/x-tex">0\in\opn{conv}D_h</annotation></semantics></math></span>. There then exists a finite set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo>∗</mo></msup><mo>⊆</mo><msub><mi>D</mi><mi>h</mi></msub></mrow><annotation encoding="application/x-tex">S^*\subseteq D_h</annotation></semantics></math></span> and positive numbers <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>f</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\lmd_f}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow></msub><msub><mi>λ</mi><mi>f</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_{f\in S^*}\lmd_f=1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow></msub><msub><mi>λ</mi><mi>f</mi></msub><mi>f</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_{f\in S^*}\lmd_ff=0</annotation></semantics></math></span>. We can always choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">S^*</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">h\in S^*</annotation></semantics></math></span>.</p>
<details>
<summary>
Why we can make <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">h\in S^*</annotation></semantics></math></span>
</summary>
<p>
Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>h</mi></msub></mrow><annotation encoding="application/x-tex">\opn{conv}D_h</annotation></semantics></math></span> is open, it contains a neighborhood of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>. Therefore, there exists a small enough <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\veps&gt;0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi>ε</mi><mi>h</mi><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>h</mi></msub></mrow><annotation encoding="application/x-tex">-\veps h\in\opn{conv}D_h</annotation></semantics></math></span>. There then exists a finite set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mrow><mo>∗</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>⊆</mo><msub><mi>D</mi><mi>h</mi></msub></mrow><annotation encoding="application/x-tex">S^{*\prime}\subseteq D_h</annotation></semantics></math></span> and positive numbers <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msubsup><mi>λ</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\lmd&#x27;_f}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo>∗</mo><mo mathvariant="normal">′</mo></mrow></msup></mrow></msub><msubsup><mi>λ</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_{f\in S^{*\prime}}\lmd&#x27;_f=1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo>∗</mo><mo mathvariant="normal">′</mo></mrow></msup></mrow></msub><msubsup><mi>λ</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mi>f</mi><mo>=</mo><mo>−</mo><mi>ε</mi><mi>h</mi></mrow><annotation encoding="application/x-tex">\sum_{f\in S^{*\prime}}\lmd&#x27;_ff=-\veps h</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>0</mn><mo>=</mo><mfrac><mi>ε</mi><mrow><mn>1</mn><mo>+</mo><mi>ε</mi></mrow></mfrac><mi>h</mi><mo>+</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>ε</mi></mrow></mfrac><mrow><mo fence="true">(</mo><mo>−</mo><mi>ε</mi><mi>h</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mi>ε</mi><mrow><mn>1</mn><mo>+</mo><mi>ε</mi></mrow></mfrac><mi>h</mi><mo>+</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>ε</mi></mrow></mfrac><munder><mo>∑</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo>∗</mo><mo mathvariant="normal">′</mo></mrow></msup></mrow></munder><msubsup><mi>λ</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mi>f</mi><mo>=</mo><munder><mo>∑</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow></munder><msub><mi>λ</mi><mi>f</mi></msub><mi>f</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">0=\fr\veps{1+\veps}h+\fr1{1+\veps}\p{-\veps h}
=\fr\veps{1+\veps}h+\fr1{1+\veps}\sum_{f\in S^{*\prime}}\lmd&#x27;_ff
=\sum_{f\in S^*}\lmd_ff,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>S</mi><mo>∗</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>S</mi><mrow><mo>∗</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>∪</mo><mrow><mo fence="true">{</mo><mi>h</mi><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><msub><mi>λ</mi><mi>f</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>+</mo><mi>ε</mi></mrow></mfrac><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>ε</mi><mo>+</mo><msubsup><mi>λ</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>f</mi><mo>=</mo><mi>h</mi><mo>∈</mo><msup><mi>S</mi><mrow><mo>∗</mo><mo mathvariant="normal">′</mo></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>ε</mi><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>f</mi><mo>=</mo><mi>h</mi><mo mathvariant="normal">∉</mo><msup><mi>S</mi><mrow><mo>∗</mo><mo mathvariant="normal">′</mo></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>λ</mi><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>f</mi><mo mathvariant="normal">≠</mo><mi>h</mi><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">S^*\ceq S^{*\prime}\cup\B h,\qquad\lmd_f\ceq\fr1{1+\veps}\begin{dcases}
\veps+\lmd&#x27;_f,&amp;f=h\in S^{*\prime},\\
\veps,&amp;f=h\notin S^{*\prime},\\
\lmd&#x27;_f,&amp;f\ne h.
\end{dcases}</annotation></semantics></math></span>
</p>
</details>
<p>For every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f\in S^*</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>γ</mi><mi>f</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>h</mi><mo>−</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\gma_f\ceq\V f-\V{h-f}&gt;0</annotation></semantics></math></span>, where the inequality is because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi>D</mi><mi>h</mi></msub></mrow><annotation encoding="application/x-tex">f\in D_h</annotation></semantics></math></span>. Choose a sequence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_{f,n}}</annotation></semantics></math></span> in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mi>X</mi></msub></mrow><annotation encoding="application/x-tex">S_X</annotation></semantics></math></span>, the unit sphere of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>, such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>n</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\lim_{n\to\infty}\fc f{a_{f,n}}=\V f</annotation></semantics></math></span> and that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>−</mo><msub><mi>γ</mi><mi>f</mi></msub><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\fc f{a_{f,n}}&gt;\V f-\gma_f/2</annotation></semantics></math></span> for every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>. Such a sequence always exists because of the definition of the norm on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span> and the definition of sequence limit. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>=</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">(</mo><mi>h</mi><mo>−</mo><mi>f</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>≥</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>h</mi><mo>−</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mfrac><msub><mi>γ</mi><mi>f</mi></msub><mn>2</mn></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc h{a_{f,n}}=\fc f{a_{f,n}}+\fc{\p{h-f}}{a_{f,n}}
\ge\fc f{a_{f,n}}-\V{h-f}&gt;\fr{\gma_f}2.</annotation></semantics></math></span></p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mn>0</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup><mo separator="true">,</mo><mi>n</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S_0\ceq\set{a_{f,n}}{f\in S^*,n\in\bN}</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mn>0</mn></msub><mo>⊆</mo><msub><mi>S</mi><mi>X</mi></msub></mrow><annotation encoding="application/x-tex">S_0\subseteq S_X</annotation></semantics></math></span>, it is bounded. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><msub><mi>S</mi><mn>0</mn></msub><mo>:</mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><msub><mrow><mi>min</mi><mo>⁡</mo></mrow><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow></msub><msub><mi>γ</mi><mi>f</mi></msub><mi mathvariant="normal">/</mi><mn>2</mn><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\forall a\in S_0:\fc ha&gt;\min_{f\in S^*}\gma_f/2&gt;0</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>S</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}S_0</annotation></semantics></math></span>.</p>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S_0,0}</annotation></semantics></math></span>. For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo>∈</mo><msub><mi>S</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">a_{f,n}\in S_0</annotation></semantics></math></span>, we then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>−</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">∥</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mrow><mi>f</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc fy&amp;=\fc f{a_{f,n}}-\fc f{a_{f,n}-y}\\
&amp;\ge\fc f{a_{f,n}}-\V f\V{a_{f,n}-y}\\
&amp;\ge\fc f{a_{f,n}}-\V f\V{a_{f,n}}\\
&amp;=\fc f{a_{f,n}}-\V f.
\end{align*}</annotation></semantics></math></span> Take <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">n\to\infty</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc fy\ge0</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>f</mi></msub><msub><mi>λ</mi><mi>f</mi></msub><mi>f</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_f\lmd_ff=0</annotation></semantics></math></span> forces <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc fy=0</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>W</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mo>⋂</mo><mrow><mi>f</mi><mo>∈</mo><msup><mi>S</mi><mo>∗</mo></msup></mrow></msub><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>f</mi></mrow><annotation encoding="application/x-tex">y\in W\ceq\bigcap_{f\in S^*}\opn{ker}f</annotation></semantics></math></span>.</p>
<p>Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>W</mi></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_0,0}\subseteq W</annotation></semantics></math></span>. Now consider two cases, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">W=\B0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi><mo mathvariant="normal">≠</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">W\ne\B0</annotation></semantics></math></span>. For the first case, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_0,0}=\B0</annotation></semantics></math></span>, which is a counterexample to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm b</annotation></semantics></math></span>.</p>
<p>For the case <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi><mo mathvariant="normal">≠</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">W\ne\B0</annotation></semantics></math></span>, we pick a fixed <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mn>0</mn></msub><mo>∈</mo><msub><mi>S</mi><mn>0</mn></msub><mo>⊆</mo><msub><mi>S</mi><mi>X</mi></msub></mrow><annotation encoding="application/x-tex">a_0\in S_0\subseteq S_X</annotation></semantics></math></span> and define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>S</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>S</mi><mn>0</mn></msub><mo>∪</mo><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>0</mn></msub><mo>−</mo><mn>3</mn><msub><mi>S</mi><mi>W</mi></msub><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">S\ceq S_0\cup\p{a_0-3S_W},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mi>W</mi></msub></mrow><annotation encoding="application/x-tex">S_W</annotation></semantics></math></span> is the unit sphere in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>W</mi></mrow><annotation encoding="application/x-tex">W</annotation></semantics></math></span>. Since <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mi>W</mi></msub><mo>⊆</mo><mi>W</mi><mo>⊆</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>h</mi></mrow><annotation encoding="application/x-tex">S_W\subseteq W\subseteq\opn{ker}h</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc hS</annotation></semantics></math></span> has the same positive lower bound as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc h{S_0}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}S</annotation></semantics></math></span>.</p>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>⊆</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>W</mi></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,0}\subseteq\fc{\bar I}{S_0,0}\subseteq W</annotation></semantics></math></span>. Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y\ne0</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo><mi mathvariant="normal">≔</mi></mo><mi>y</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\hat y\ceq y/\V y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>a</mi><mn>0</mn></msub><mo>−</mo><mn>3</mn><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\ceq a_0-3\hat y\in S</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a-y}\le\V a</annotation></semantics></math></span>.</p>
<p>Pick some subgradient <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">g\in\fc Ja</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mn>1</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mn>3</mn><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>0</mn></msub><mo fence="true">∥</mo></mrow><mo>−</mo><mn>1</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>0</mn></msub><mo>−</mo><mn>3</mn><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo fence="true">∥</mo></mrow><mo>−</mo><mn>1</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mn>1</mn><mo>=</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>−</mo><mn>1</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow><mo>−</mo><mn>3</mn><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo fence="true">)</mo></mrow><mo>−</mo><mn>1</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>g</mi><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>0</mn></msub><mo fence="true">∥</mo></mrow><mo>−</mo><mn>3</mn><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo fence="true">)</mo></mrow><mo>−</mo><mn>1</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>−</mo><mn>3</mn><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
1&amp;=\V{3\hat y}-\V{a_0}-1\\
&amp;\le\V{a_0-3\hat y}-1\\
&amp;=\V a-1=\fc ga-1\\
&amp;=\fc g{a_0}-3\fc g{\hat y}-1\\
&amp;\le\V g\V{a_0}-3\fc g{\hat y}-1\\
&amp;=-3\fc g{\hat y}.
\end{align*}</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo fence="true">)</mo></mrow><mo>≥</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>3</mn></mrow><annotation encoding="application/x-tex">-\fc g{\hat y}\ge1/3</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mfrac><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><mrow><mo fence="true">∥</mo><mi>g</mi><mo fence="true">∥</mo></mrow></mfrac><mo>≥</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mover accent="true"><mi>y</mi><mo>^</mo></mover><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}\V{a-y}
&amp;\ge\fr{\fc g{a-y}}{\V g}\ge\fc ga-\fc gy\\
&amp;=\V a-\V y\fc g{\hat y}\\
&amp;\ge\V a+\fr13\V y&gt;\V a.
\end{align*}</annotation></semantics></math></span> This contradicts with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a-y}\le\V a</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,0}=\B0</annotation></semantics></math></span>, which is a counterexample to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm b</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<h2 data-label="0.5" id="planes">Planes</h2>
<p class="no-indent">
<strong>Definition <span id="thm:balanced-tangent-chords">24</span>.</strong> A normed space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> has <dfn>balanced tangent chords</dfn> at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span> if there exist <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">u\in X\setminus\B0</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">C\ge1</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\dlt&gt;0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mo>−</mo><mi>δ</mi><mo separator="true">,</mo><mi>δ</mi><mo fence="true">]</mo></mrow><mo>:</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>−</mo><mi>C</mi><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall t\in\b{-\dlt,\dlt}:\V{u+ty}\le\V{u-Cty}.</annotation></semantics></math></span> We say <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> has balanced tangent chords if this holds at every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span>.
</p>
<details>
<summary>
Definitions and lemmas
</summary>
<p class="no-indent">
<strong>Definition <span id="thm:bj-coordinates">25</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed plane, and let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">u,y\in X\setminus\B0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span> is a basis of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>, forming a coordinate system to express every vector in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">ru+sy</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo separator="true">,</mo><mi>s</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r,s\in\bR</annotation></semantics></math></span>. The number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span> is called the <dfn>bisector coordinate</dfn>, and the number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span> is called the <dfn>descent coordinate</dfn>. In this context, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is called the <dfn>bisector direction</dfn>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is called the <dfn>descent direction</dfn>. In a context where a bisector coordinate system is already set up, we denote the coordinate projection of the bisector coordinate as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub></mrow><annotation encoding="application/x-tex">\pi_r</annotation></semantics></math></span> and the coordinate projection of the descent coordinate as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>s</mi></msub></mrow><annotation encoding="application/x-tex">\pi_s</annotation></semantics></math></span>, i.e., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub><mrow><mo fence="true">(</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>r</mi></mrow><annotation encoding="application/x-tex">\pi_r\p{ru+sy}\ceq r</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>s</mi></msub><mrow><mo fence="true">(</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>s</mi></mrow><annotation encoding="application/x-tex">\pi_s\p{ru+sy}\ceq s</annotation></semantics></math></span>.
</p>
<p class="no-indent">
<strong>Definition <span id="thm:bisector-function">26</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space, and let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u,y\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>. Define the <dfn>bisector function</dfn> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mo>:</mo><mi mathvariant="double-struck">R</mi><mo>→</mo><mover accent="true"><mi mathvariant="double-struck">R</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\beta_{u,y}:\bR\to\overline\bR</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>sup</mi><mo>⁡</mo><mrow><mo fence="true">{</mo><mi>s</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{\beta_{u,y}}r\ceq\sup\set{s\in\bR}{\V{ru+sy}\le\V{ru+\p{s-1}y}}.</annotation></semantics></math></span> When a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span> is already set up in the context, we abbreviate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\beta_{u,y}</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span>.
</p>
<p class="no-indent">
<strong>Definition <span id="thm:positively-bisectable">27</span>.</strong> A normed space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is said to be <dfn>positively bisectable</dfn> at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span> if there exists nonzero <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mrow><mi>inf</mi><mo>⁡</mo></mrow><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow></munder><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\inf_{r\in\bR}\fc{\beta_{u,y}}r&gt;0.</annotation></semantics></math></span> Moreover, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is said to be <dfn>positively bisectable</dfn> if it is positively bisectable at every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span>.
</p>
<p class="no-indent">
<strong>Lemma <span id="thm:bisector-function-nonnegative">28</span>.</strong> The bisector function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\beta_{u,y}</annotation></semantics></math></span> is nonnegative. Furthermore, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is nonzero and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is the only nonzero vector in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">span</mi><mo>⁡</mo><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\opn{span}\B{u,y}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span> up to scalar multiples, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>:</mo><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\forall r\in\bR:\fc{\beta_{u,y}}r\in\p{0,1}</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space, and let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u,y\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u=0</annotation></semantics></math></span> or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span>, the result is trivial. We assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u,y\ne0</annotation></semantics></math></span> from here and use a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span> in their spanned plane.</p>
<p>By the triangle inequality, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r\in\bR</annotation></semantics></math></span>, the function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>↦</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">s\mapsto\V{ru+sy}</annotation></semantics></math></span> is convex. Difference on a fixed interval of a convex function is monotonic, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{g_r}s\ceq\V{ru+sy}-\V{ru+\p{s-1}y}</annotation></semantics></math></span> is monotonically non-decreasing in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span>. By Definition <span class="citation" data-cites="thm:birkhoff-james-orthogonality"><a href="#thm:birkhoff-james-orthogonality">12</a></span>, we can easily see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>≤</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{g_r}0\le0</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub></mrow><annotation encoding="application/x-tex">g_r</annotation></semantics></math></span> is nonpositive on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">]</mo></mrow><annotation encoding="application/x-tex">\left(-\infty,0\right]</annotation></semantics></math></span>.</p>
<p>By Definition <span class="citation" data-cites="thm:bisector-function"><a href="#thm:bisector-function">26</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>sup</mi><mo>⁡</mo><msub><mi>G</mi><mi>r</mi></msub></mrow><annotation encoding="application/x-tex">\fc\beta r=\sup G_r</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>G</mi><mi>r</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>s</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mn>0</mn><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">G_r\ceq\set{s\in\bR}{\fc{g_r}s\le0}.</annotation></semantics></math></span> By the previous paragraph, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">]</mo></mrow><mo>⊆</mo><msub><mi>G</mi><mi>r</mi></msub></mrow><annotation encoding="application/x-tex">\left(-\infty,0\right]\subseteq G_r</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>sup</mi><mo>⁡</mo><msub><mi>G</mi><mi>r</mi></msub><mo>≥</mo><mi>sup</mi><mo>⁡</mo><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">]</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sup G_r\ge\sup\left(-\infty,0\right]=0</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\beta r\ge0</annotation></semantics></math></span>.</p>
<p>Now, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is the only nonzero vector such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span> up to scalar multiples, we prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>:</mo><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\forall r\in\bR:\fc{\beta_{u,y}}r\in\p{0,1}</annotation></semantics></math></span>. We have the strict inequalities <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{ru}&lt;\V{ru+y}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{ru}&lt;\V{ru-y}</annotation></semantics></math></span> because otherwise <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mi>u</mi><mo>+</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">ru+y</annotation></semantics></math></span> or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mi>u</mi><mo>−</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">ru-y</annotation></semantics></math></span> would be Birkhoff–James orthogonal to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. We can then easily see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{g_r}0&lt;0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{g_r}1&gt;0</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub></mrow><annotation encoding="application/x-tex">g_r</annotation></semantics></math></span> is continuous and non-decreasing, we then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">]</mo></mrow><mo>⊂</mo><msub><mi>G</mi><mi>r</mi></msub><mo>⊂</mo><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\left(-\infty,0\right]\subset G_r\subset\p{-\infty,1}</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\beta r\in\p{0,1}</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Lemma <span id="thm:voronoi-cell-descent-coordinate">29</span>.</strong> In a normed plane with a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span>, the Voronoi cell <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">D_y=\set{ru+sy}{s&gt;\fc\beta r}</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">u\in X\setminus\B0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>. Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span> be the basis of the bisector coordinate system. By the triangle inequality, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r\in\bR</annotation></semantics></math></span>, the function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>↦</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">s\mapsto\V{ru+sy}</annotation></semantics></math></span> is convex. Difference on a fixed interval of a convex function is monotonic, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{g_r}s\ceq\V{ru+sy}-\V{ru+\p{s-1}y}</annotation></semantics></math></span> is monotonically non-decreasing in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span>. By Definition <span class="citation" data-cites="thm:bisector-function"><a href="#thm:bisector-function">26</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>sup</mi><mo>⁡</mo><mrow><mo fence="true">{</mo><mi>s</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\beta r=\sup\set{s\in\bR}{\fc{g_r}s\le0}</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn><mo>⇔</mo><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{g_r}s&gt;0\Leftrightarrow s&gt;\fc\beta r</annotation></semantics></math></span>.</p>
<p>Now, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">a\in X</annotation></semantics></math></span>, we can express it as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>=</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">a=ru+sy</annotation></semantics></math></span> in the bisector coordinate system. Substitute it in the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub></mrow><annotation encoding="application/x-tex">g_r</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{g_r}s=\V a-\V{a-y}</annotation></semantics></math></span>. By Definition <span class="citation" data-cites="thm:voronoi-cell"><a href="#thm:voronoi-cell">4</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><msub><mi>D</mi><mi>y</mi></msub><mo>⇔</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">a\in D_y\Leftrightarrow\V a&gt;\V{a-y}</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>a</mi><mo>∈</mo><msub><mi>D</mi><mi>y</mi></msub><mo>⇔</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mn>0</mn><mo>⇔</mo><msub><mi>g</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn><mo>⇔</mo><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">a\in D_y\Leftrightarrow\V a-\V{a-y}&gt;0\Leftrightarrow\fc{g_r}s&gt;0\Leftrightarrow s&gt;\fc\beta r.</annotation></semantics></math></span> This means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">D_y=\set{ru+sy}{s&gt;\fc\beta r}</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Lemma <span id="thm:bisector-positive-near-zero">30</span>.</strong> The bisector function is positive in a neighborhood of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space, and let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u,y\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u=0</annotation></semantics></math></span> or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span>, the result is trivial. We assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u,y\ne0</annotation></semantics></math></span> from here and use a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span> in their spanned plane.</p>
<p>By Definition <span class="citation" data-cites="thm:bisector-function"><a href="#thm:bisector-function">26</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>⇒</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">s&gt;\fc\beta r\Rightarrow\V{ru+sy}&gt;\V{ru+\p{s-1}y}</annotation></semantics></math></span>. By the triangle inequality, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{ru+sy}\le\V{ru}+\V{sy},\qquad
\V{ru+\p{s-1}y}\ge\V{\p{s-1}y}-\V{ru}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>⇒</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">s&gt;\fc\beta r\Rightarrow\V{ru}+\V{sy}&gt;\V{\p{s-1}y}-\V{ru}</annotation></semantics></math></span>. Solving this inequality for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span> gives (taking into account that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\beta r\ge0</annotation></semantics></math></span> by Lemma <span class="citation" data-cites="thm:bisector-function-nonnegative"><a href="#thm:bisector-function-nonnegative">28</a></span>) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>⇒</mo><mi>s</mi><mo>&gt;</mo><mi mathvariant="normal">max</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mfrac><mrow><mo fence="true">∣</mo><mi>r</mi><mo fence="true">∣</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">s&gt;\fc\beta r\Rightarrow s&gt;\opc{max}{0,\fr12-\fr{\V u}{\V y}\v r}.</annotation></semantics></math></span></p>
<details>
<summary>
Solving <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><mi>s</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{ru}+\V{sy}&gt;\V{\p{s-1}y}-\V{ru}</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span>
</summary>
<p>
Rearrange the inequality to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">∣</mo></mrow><mo>−</mo><mrow><mo fence="true">∣</mo><mi>s</mi><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mfrac><mrow><mn>2</mn><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mfrac><mrow><mo fence="true">∣</mo><mi>r</mi><mo fence="true">∣</mo></mrow><mo><mi mathvariant="normal">≕</mi></mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\v{s-1}-\v s&lt;\fr{2\V u}{\V y}\v r\eqc\fc hr.</annotation></semantics></math></span> The left-hand side is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">∣</mo></mrow><mo>−</mo><mrow><mo fence="true">∣</mo><mi>s</mi><mo fence="true">∣</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mn>1</mn><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>s</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">]</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mn>1</mn><mo>−</mo><mn>2</mn><mi>s</mi><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>s</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><mn>1</mn><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>s</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>1</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\v{s-1}-\v s=\begin{dcases}
1,&amp;s\in\left(-\infty,0\right],\\
1-2s,&amp;s\in\p{0,1},\\
-1,&amp;s\in\left[1,+\infty\right).
\end{dcases}</annotation></semantics></math></span> We do not need to consider the case <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">s\in\left(-\infty,0\right]</annotation></semantics></math></span> because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">s&gt;\fc\beta r\ge0</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc hr\ge0</annotation></semantics></math></span>, the inequality is always satisfied when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>1</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">s\in\left[1,+\infty\right)</annotation></semantics></math></span>. The only nontrivial case is when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">s\in\p{0,1}</annotation></semantics></math></span>, where the inequality becomes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>&gt;</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">s&gt;\p{1-\fc hr}/2</annotation></semantics></math></span>. Therefore, the full solution to the inequality is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>s</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><mn>2</mn></mfrac><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>∩</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>∪</mo><mrow><mo fence="true">[</mo><mn>1</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>∖</mo><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">]</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mi mathvariant="normal">max</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><mn>2</mn></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">s\in\p{\p{\fr{1-\fc hr}2,+\infty}\cap\p{0,1}\cup\left[1,+\infty\right)}\setminus\left(-\infty,0\right]
=\p{\opc{max}{0,\fr{1-\fc hr}2},+\infty}.</annotation></semantics></math></span>
</p>
</details>
<p>This implication relation then translates to the inequality <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi mathvariant="normal">max</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>−</mo><mfrac><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mfrac><mrow><mo fence="true">∣</mo><mi>r</mi><mo fence="true">∣</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\beta r\ge\opc{max}{0,\fr12-\fr{\V u}{\V y}\v r}.</annotation></semantics></math></span> Noting that the right-hand side is positive when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span> is in a neighborhood of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>, we get that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\beta r</annotation></semantics></math></span> is positive when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span> is in a neighborhood of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Lemma <span id="thm:not-left-unique-to-balanced-tangent-chords">31</span>.</strong> Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed space and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span>. If there exists two linearly independent vectors <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">u_1,u_2\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u_1,u_2\perp_\mrm{BJ}y</annotation></semantics></math></span> and that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><mo separator="true">,</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">u_1,u_2,y</annotation></semantics></math></span> are linearly dependent, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> has balanced tangent chords at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>The case when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span> is trivial, and we assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y\ne0</annotation></semantics></math></span> from here.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><mo separator="true">,</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">u_1,u_2,y</annotation></semantics></math></span> are linearly dependent, we can express <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>2</mn></msub><mo>=</mo><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msub><mi>u</mi><mn>1</mn></msub><mo>+</mo><msup><mi>s</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi>y</mi></mrow><annotation encoding="application/x-tex">u_2=r&#x27;u_1+s&#x27;y</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><msup><mi>s</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r&#x27;,s&#x27;\in\bR</annotation></semantics></math></span>. We know <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>2</mn></msub><mo separator="true">,</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">u_2,y</annotation></semantics></math></span> are linearly independent by Theorem <span class="citation" data-cites="thm:bj-orthogonal-existence"><a href="#thm:bj-orthogonal-existence">13</a></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r&#x27;\ne0</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">u_1,u_2</annotation></semantics></math></span> are linearly independent, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>s</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">s&#x27;\ne0</annotation></semantics></math></span>. Now define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>u</mi><mo>−</mo></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>s</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>u</mi><mn>2</mn></msub><mi mathvariant="normal">/</mi><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>s</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>&lt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable></mrow><mspace width="2em"/><msub><mi>u</mi><mo>+</mo></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>u</mi><mn>2</mn></msub><mi mathvariant="normal">/</mi><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>s</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>s</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>&lt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable></mrow><mspace width="2em"/><mi>δ</mi><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">∣</mo><mfrac><msup><mi>s</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msup><mi>r</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mfrac><mo fence="true">∣</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">u_-\ceq\begin{dcases}
u_1,&amp;s&#x27;/r&#x27;&gt;0,\\
u_2/r&#x27;,&amp;s&#x27;/r&#x27;&lt;0,
\end{dcases}\qquad
u_+\ceq\begin{dcases}
u_2/r&#x27;,&amp;s&#x27;/r&#x27;&gt;0,\\
u_1,&amp;s&#x27;/r&#x27;&lt;0,
\end{dcases}\qquad
\dlt\ceq\fr12\v{\fr{s&#x27;}{r&#x27;}}.</annotation></semantics></math></span> We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mo>+</mo></msub><mo>=</mo><msub><mi>u</mi><mo>−</mo></msub><mo>+</mo><mn>2</mn><mi>δ</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">u_+=u_-+2\dlt y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\dlt&gt;0</annotation></semantics></math></span>. Obviously, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mo>−</mo></msub><mo separator="true">,</mo><msub><mi>u</mi><mo>+</mo></msub><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u_-,u_+\perp_\mrm{BJ}y</annotation></semantics></math></span>, and all of them are nonzero.</p>
<p>Notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mo>+</mo></msub><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u_+\perp_\mrm{BJ}y</annotation></semantics></math></span> forces <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>↦</mo><mrow><mo fence="true">∥</mo><msub><mi>u</mi><mo>+</mo></msub><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">t\mapsto\V{u_++ty}</annotation></semantics></math></span> to be non-increasing on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">]</mo></mrow><annotation encoding="application/x-tex">\left(-\infty,0\right]</annotation></semantics></math></span>, which is equivalent to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>↦</mo><mrow><mo fence="true">∥</mo><msub><mi>u</mi><mo>−</mo></msub><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">t\mapsto\V{u_-+ty}</annotation></semantics></math></span> being non-increasing on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">∞</mi><mo separator="true">,</mo><mn>2</mn><mi>δ</mi><mo fence="true">]</mo></mrow><annotation encoding="application/x-tex">\left(-\infty,2\dlt\right]</annotation></semantics></math></span>. On the other hand, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mo>−</mo></msub><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u_-\perp_\mrm{BJ}y</annotation></semantics></math></span> forces <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>↦</mo><mrow><mo fence="true">∥</mo><msub><mi>u</mi><mo>−</mo></msub><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">t\mapsto\V{u_-+ty}</annotation></semantics></math></span> to be non-decreasing on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\left[0,+\infty\right)</annotation></semantics></math></span>. Simultaneously satisfying both monotonicity conditions forces <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>↦</mo><mrow><mo fence="true">∥</mo><msub><mi>u</mi><mo>−</mo></msub><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">t\mapsto\V{u_-+ty}</annotation></semantics></math></span> to be constant on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mi>δ</mi><mo fence="true">]</mo></mrow><annotation encoding="application/x-tex">\b{0,2\dlt}</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>u</mi><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msub><mi>u</mi><mo>−</mo></msub><mo>+</mo><msub><mi>u</mi><mo>+</mo></msub><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>u</mi><mo>−</mo></msub><mo>+</mo><mi>δ</mi><mi>y</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">u\ceq\fr12\p{u_-+u_+}=u_-+\dlt y,</annotation></semantics></math></span> and we then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>u</mi><mo>−</mo></msub><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><msub><mi>u</mi><mo>−</mo></msub><mo>+</mo><mi>δ</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{u_-}=\V{u_-+\dlt y}=\V u.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><msub><mi>u</mi><mo>−</mo></msub><mo>+</mo><mrow><mo fence="true">(</mo><mi>t</mi><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><msub><mi>u</mi><mo>−</mo></msub><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\forall t\in\bR:\V{u+ty}=\V{u_-+\p{t+\dlt}y}\ge\V{u_-}=\V u,</annotation></semantics></math></span> which means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>.</p>
<p>We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{u+ty}=\V u</annotation></semantics></math></span> whenever <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mo>≤</mo><mi>δ</mi></mrow><annotation encoding="application/x-tex">\v t\le\dlt</annotation></semantics></math></span>. Pick <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn></mrow><annotation encoding="application/x-tex">C\ceq1</annotation></semantics></math></span>. This satisfies the condition <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>−</mo><mi>C</mi><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{u+ty}\le\V{u-Cty}</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mo>−</mo><mi>δ</mi><mo separator="true">,</mo><mi>δ</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">t\in\b{-\dlt,\dlt}</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> has balanced tangent chords at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Lemma <span id="thm:balanced-tangent-chords-equivalence">32</span>.</strong> For a normed space, positive bisectability at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is equivalent to having balanced tangent chords at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>The case <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span> is immediate, so assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y\ne0</annotation></semantics></math></span>. For a nonzero <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>, write <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc dt\ceq\V{u+ty}-\V u</annotation></semantics></math></span>. This convex function has its minimum at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>, so it is non-decreasing along either ray from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>.</p>
<p>First prove that having balanced tangent chords at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> implies positive bisectability at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. Suppose that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>C</mi><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc dt\le\fc d{-Ct}</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mo>≤</mo><mi>δ</mi></mrow><annotation encoding="application/x-tex">\v t\le\dlt</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>C</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal">max</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>C</mi><mo separator="true">,</mo><mn>1</mn><mo>+</mo><mfrac><mrow><mn>2</mn><mi>u</mi></mrow><mrow><mi>δ</mi><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow></mrow></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">C&#x27;\ceq\opc{max}{C,1+\fr{2u}{\dlt\V y}}.</annotation></semantics></math></span> For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mo>≤</mo><mi>δ</mi></mrow><annotation encoding="application/x-tex">\v t\le\dlt</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>C</mi><mi>t</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><msup><mi>C</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc dt\le\fc d{-Ct}\le\fc d{-C&#x27;t}</annotation></semantics></math></span>. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mo>≥</mo><mi>δ</mi></mrow><annotation encoding="application/x-tex">\v t\ge\dlt</annotation></semantics></math></span>, the triangle inequality gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><msup><mi>C</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi>t</mi><mo fence="true">)</mo></mrow><mo>≥</mo><msup><mi>C</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mn>2</mn><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc d{-C&#x27;t}\ge C&#x27;\v t\V y-2\V u\ge\v t\V y\ge\fc dt.</annotation></semantics></math></span> Thus <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>:</mo><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><msup><mi>C</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\forall t\in\bR:\fc dt\le\fc d{-C&#x27;t}</annotation></semantics></math></span>.</p>
<p>Set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><msup><mi>C</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\veps\ceq1/\p{C&#x27;+1}</annotation></semantics></math></span>. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r\ne0</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>ε</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∣</mo><mi>r</mi><mo fence="true">∣</mo></mrow><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>ε</mi><mi>r</mi></mfrac><mo fence="true">)</mo></mrow><mo>≤</mo><mrow><mo fence="true">∣</mo><mi>r</mi><mo fence="true">∣</mo></mrow><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><msup><mi>C</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mfrac><mi>ε</mi><mi>r</mi></mfrac><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>ε</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{ru+\veps y}=\v r\fc d{\fr\veps r}
\le\v r\fc d{-C&#x27;\fr\veps r}=\V{ru+\p{\veps-1}y}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>ε</mi></mrow><annotation encoding="application/x-tex">\fc{\beta_{u,y}}r\ge\veps</annotation></semantics></math></span>. Also <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn><mo>≥</mo><mi>ε</mi></mrow><annotation encoding="application/x-tex">\fc{\beta_{u,y}}0=1/2\ge\veps</annotation></semantics></math></span>. Therefore, positive bisectability at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is proven.</p>
<p>Conversely, prove that positive bisectability at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> implies having balanced tangent chords at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mi>inf</mi><mo>⁡</mo></mrow><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow></msub><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\veps\ceq\inf_{r\in\bR}\fc{\beta_{u,y}}r</annotation></semantics></math></span>. The fact that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>ε</mi></mrow><annotation encoding="application/x-tex">\fc{\beta_{u,y}}r\ge\veps</annotation></semantics></math></span> means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>ε</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>ε</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{ru+\veps y}\ge\V{ru+\p{\veps-1}y}</annotation></semantics></math></span>. This reduces to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mi>ε</mi></mrow><mi>ε</mi></mfrac><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc dt\le\fc d{-\fr{1-\veps}\veps t}.</annotation></semantics></math></span> The same inequality holds at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t=0</annotation></semantics></math></span>. This proves balanced tangent chords, with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>ε</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mi>ε</mi></mrow><annotation encoding="application/x-tex">C=\p{1-\veps}/\veps</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:2d-to-p1b">33</span>.</strong> A normed plane satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm b</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed plane and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> be a bounded set such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">0\in\opn{\overline{conv}}S</annotation></semantics></math></span>. Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc I{S,0}</annotation></semantics></math></span>. By Definition <span class="citation" data-cites="thm:voronoi-cell"><a href="#thm:voronoi-cell">4</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">S\subseteq D_y</annotation></semantics></math></span>.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is bounded in a finite-dimensional space, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>=</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}S=\opn{conv}\overline S</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline S</annotation></semantics></math></span> is the closure of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">0\in\opn{conv}\overline S</annotation></semantics></math></span>. By <a href="https://en.wikipedia.org/wiki/Carath%C3%A9odory&#39;s_theorem_(convex_hull)" target="_blank" rel="external">Carathéodory’s theorem</a>, there exists at most <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>dim</mi><mo>⁡</mo><mi>X</mi><mo>+</mo><mn>1</mn><mo>=</mo><mn>3</mn></mrow><annotation encoding="application/x-tex">\dim X+1=3</annotation></semantics></math></span> points <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>∈</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">a_i\in\overline S</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> is a convex combination of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span>, i.e., there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>i</mi></msub><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_i\ge0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_i=1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_ia_i=0</annotation></semantics></math></span>. We can further dictate that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>i</mi></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_i&gt;0</annotation></semantics></math></span> because we can simply discard any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_i=0</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>=</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}S=\opn{conv}\overline S</annotation></semantics></math></span>
</summary>
<p>The closure <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline S</annotation></semantics></math></span> is a closed bounded set in a finite-dimensional space, so it is compact by the <a href="https://en.wikipedia.org/wiki/Heine%E2%80%93Borel_theorem" target="_blank" rel="external">Heine–Borel theorem</a>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{conv}\overline S</annotation></semantics></math></span> is the image of a compact set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Δ</mi><mn>2</mn></msub><mo>×</mo><msup><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mn>3</mn></msup></mrow><annotation encoding="application/x-tex">\Dlt_2\times\overline S^3</annotation></semantics></math></span> (where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Δ</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\Dlt_2</annotation></semantics></math></span> is the 2-dimensional unit simplex embedded in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="double-struck">R</mi><mn>3</mn></msup></mrow><annotation encoding="application/x-tex">\bR^3</annotation></semantics></math></span>) under the continuous map <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow><mo>↦</mo><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">\p{\B{\lmd_i},\B{a_i}}\mapsto\sum_i\lmd_ia_i</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{conv}\overline S</annotation></semantics></math></span> is also compact, so it is closed.</p>
<p>Now, taking the convex hull preserves set inclusion, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">S\subseteq\overline S</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>S</mi><mo>⊆</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{conv}S\subseteq\opn{conv}\overline S</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{conv}\overline S</annotation></semantics></math></span> is closed, it must contain the closure of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\opn{conv}S</annotation></semantics></math></span>, so we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>⊆</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}S\subseteq\opn{conv}\overline S</annotation></semantics></math></span>.</p>
<p>On the other hand, taking the closure preserves set inclusion, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">S\subseteq\opn{conv}S</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\overline S\subseteq\opn{\overline{conv}}S</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}S</annotation></semantics></math></span> is convex, it must contain the convex hull of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline S</annotation></semantics></math></span>, so we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\opn{conv}\overline S\subseteq\opn{\overline{conv}}S</annotation></semantics></math></span>.</p>
<p>We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>=</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}S=\opn{conv}\overline S</annotation></semantics></math></span>.</p>
</details>
<p>Set up a bisector coordinate system with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> as the descent direction. Denote the bisector direction as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span>. We can always choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> so that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>:</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall t\in\p{0,+\infty}:\V{u+ty}&gt;\V u</annotation></semantics></math></span>.</p>
<details>
<summary>
Why we can choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> so that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>:</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall t\in\p{0,+\infty}:\V{u+ty}&gt;\V u</annotation></semantics></math></span>
</summary>
<p>
Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">u&#x27;\in X\setminus\B0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u&#x27;\perp_\mrm{BJ}y</annotation></semantics></math></span>. By Definition <span class="citation" data-cites="thm:birkhoff-james-orthogonality"><a href="#thm:birkhoff-james-orthogonality">12</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>:</mo><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall t\in\bR:\V{u&#x27;+ty}\ge\V{u&#x27;}</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">T\ceq\set{t\in\bR}{\V{u&#x27;+ty}=\V{u&#x27;}}</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>↦</mo><mrow><mo fence="true">∥</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">t\mapsto\V{u&#x27;+ty}</annotation></semantics></math></span> is continuous, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> is closed. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mi>y</mi><mi>max</mi><mo>⁡</mo><mi>T</mi></mrow><annotation encoding="application/x-tex">u\ceq u&#x27;+y\max T</annotation></semantics></math></span>. We can easily see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>:</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall t\in\p{0,+\infty}:\V{u+ty}&gt;\V u</annotation></semantics></math></span>.
</p>
</details>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">S\subseteq D_y</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline S\subseteq\overline{D_y}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline{D_y}</annotation></semantics></math></span> is the closure of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">D_y</annotation></semantics></math></span>. By Lemma <span class="citation" data-cites="thm:bisector-function-nonnegative"><a href="#thm:bisector-function-nonnegative">28</a></span> and Lemma <span class="citation" data-cites="thm:voronoi-cell-descent-coordinate"><a href="#thm:voronoi-cell-descent-coordinate">29</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow><mo>⊆</mo><mi>H</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mn>0</mn><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">D_y=\set{ru+sy}{s&gt;\fc\beta r}\subseteq H\ceq\set{ru+sy}{s&gt;0}.</annotation></semantics></math></span> Take the closure to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mover accent="true"><mi>H</mi><mo stretchy="true">‾</mo></mover><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>≥</mo><mn>0</mn><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\overline{D_y}\subseteq\overline H=\set{ru+sy}{s\ge0}.</annotation></semantics></math></span> Therefore, all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span> has nonnegative <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span>-coordinates, i.e., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>s</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_s}{a_i}\ge0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>. On the other hand, acting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>s</mi></msub></mrow><annotation encoding="application/x-tex">\pi_s</annotation></semantics></math></span> on the convex combination <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_ia_i=0</annotation></semantics></math></span> gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>π</mi><mi>s</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_i\fc{\pi_s}{a_i}=0</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>i</mi></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_i&gt;0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>, we must have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>s</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_s}{a_i}=0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">a_i=\fc{\pi_r}{a_i}u</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>.</p>
<p>Consider two cases. For the first case, all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span> are the same point. Because their convex combination is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>, we then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">a_i=0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\in\overline S\subseteq\overline{D_y}\subseteq\bar D_y</annotation></semantics></math></span>, which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mn>0</mn><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mn>0</mn><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{y-0}\le\V0</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span>. However, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc I{S,0}</annotation></semantics></math></span> cannot contain <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> by definition, so this is a contradiction.</p>
<p>For the second case, at least two <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span> are different points. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_i\fc{\pi_r}{a_i}=0</annotation></semantics></math></span>, there must exist <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_r}{a_i}&lt;0</annotation></semantics></math></span> and another <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_r}{a_i}&gt;0</annotation></semantics></math></span>. Without loss of generality, suppose that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_r}{a_1}&lt;0</annotation></semantics></math></span>. Then, because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mn>1</mn></msub><mo>∈</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">a_1\in\overline{D_y}\subseteq\bar D_y</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a_1-y}\le\V{a_1}</annotation></semantics></math></span>. On the other hand, since <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>:</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall t\in\p{0,+\infty}:\V{u+ty}&gt;\V u</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∣</mo><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>−</mo><mfrac><mn>1</mn><mrow><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow></mrow></mfrac><mi>y</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mrow><mo fence="true">∣</mo><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{a_1-y}=\v{\fc{\pi_r}{a_1}}\V{u-\fr1{\fc{\pi_r}{a_1}}y}&gt;\v{\fc{\pi_r}{a_1}}\V u=\V{a_1}.</annotation></semantics></math></span> This gives a contradiction.</p>
<p>Either way, we have a contradiction, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc I{S,0}=\varnothing</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:strictly-convex-2d-to-bar-p1b">34</span>.</strong> A strictly convex plane satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm b</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a strictly convex plane and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> be a bounded set such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">0\in\opn{\overline{conv}}S</annotation></semantics></math></span>. Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,0}\setminus\B0</annotation></semantics></math></span>. By Definition <span class="citation" data-cites="thm:voronoi-cell"><a href="#thm:voronoi-cell">4</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">S\subseteq\bar D_y</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\bar D_y</annotation></semantics></math></span> is already a closed set, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\overline S\subseteq\bar D_y</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline S</annotation></semantics></math></span> is the closure of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span>.</p>
<p>Set up a bisector coordinate system with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> as the descent direction. Denote the bisector direction as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span>. By Lemma <span class="citation" data-cites="thm:bisector-function-nonnegative"><a href="#thm:bisector-function-nonnegative">28</a></span> and Lemma <span class="citation" data-cites="thm:voronoi-cell-descent-coordinate"><a href="#thm:voronoi-cell-descent-coordinate">29</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow><mo>⊆</mo><mi>H</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mn>0</mn><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">D_y=\set{ru+sy}{s&gt;\fc\beta r}\subseteq H\ceq\set{ru+sy}{s&gt;0}.</annotation></semantics></math></span> Take the closure to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mover accent="true"><mi>H</mi><mo stretchy="true">‾</mo></mover><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>≥</mo><mn>0</mn><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\overline{D_y}\subseteq\overline H=\set{ru+sy}{s\ge0}.</annotation></semantics></math></span> By Theorem <span class="citation" data-cites="thm:voronoi-cell-closure"><a href="#thm:voronoi-cell-closure">11</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo>=</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\bar D_y=\overline{D_y}</annotation></semantics></math></span>, so we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo>=</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mover accent="true"><mi>H</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline S\subseteq\bar D_y=\overline{D_y}\subseteq\overline H</annotation></semantics></math></span>.</p>
<p>All the rest of the proof is almost the same as the proof of Theorem <span class="citation" data-cites="thm:2d-to-p1b"><a href="#thm:2d-to-p1b">33</a></span>. However I will repeat it here for completeness.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is bounded in a finite-dimensional space, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>=</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}S=\opn{conv}\overline S</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">0\in\opn{conv}\overline S</annotation></semantics></math></span>. By <a href="https://en.wikipedia.org/wiki/Carath%C3%A9odory&#39;s_theorem_(convex_hull)" target="_blank" rel="external">Carathéodory’s theorem</a>, there exists at most <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>dim</mi><mo>⁡</mo><mi>X</mi><mo>+</mo><mn>1</mn><mo>=</mo><mn>3</mn></mrow><annotation encoding="application/x-tex">\dim X+1=3</annotation></semantics></math></span> points <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>∈</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">a_i\in\overline S</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> is a convex combination of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span>, i.e., there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>i</mi></msub><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_i\ge0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_i=1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_ia_i=0</annotation></semantics></math></span>. We can further dictate that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>i</mi></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_i&gt;0</annotation></semantics></math></span> because we can simply discard any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_i=0</annotation></semantics></math></span>.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>∈</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mover accent="true"><mi>H</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">a_i\in\overline S\subseteq\overline H</annotation></semantics></math></span>, all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span> has nonnegative <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span>-coordinates, i.e., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>s</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_s}{a_i}\ge0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>. On the other hand, acting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>s</mi></msub></mrow><annotation encoding="application/x-tex">\pi_s</annotation></semantics></math></span> on the convex combination <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_ia_i=0</annotation></semantics></math></span> gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>π</mi><mi>s</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_i\fc{\pi_s}{a_i}=0</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>i</mi></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_i&gt;0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>, we must have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>s</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_s}{a_i}=0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">a_i=\fc{\pi_r}{a_i}u</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>.</p>
<p>Consider two cases. For the first case, all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span> are the same point. Because their convex combination is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>, we then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">a_i=0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mover accent="true"><mi>S</mi><mo stretchy="true">‾</mo></mover><mo>⊆</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\in\overline S\subseteq\bar D_y</annotation></semantics></math></span>, which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mn>0</mn><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mn>0</mn><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{y-0}\le\V0</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span>, contradicting with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,0}\setminus\B0</annotation></semantics></math></span>.</p>
<p>For the second case, at least two <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">a_i</annotation></semantics></math></span> are different points. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_i\lmd_i\fc{\pi_r}{a_i}=0</annotation></semantics></math></span>, there must exist <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_r}{a_i}&lt;0</annotation></semantics></math></span> and another <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi></mrow><annotation encoding="application/x-tex">i</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_r}{a_i}&gt;0</annotation></semantics></math></span>. Without loss of generality, suppose that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_r}{a_1}&lt;0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\pi_r}{a_2}&gt;0</annotation></semantics></math></span>. Then, because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>a</mi><mn>2</mn></msub><mo>∈</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">a_1,a_2\in\bar D_y</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a_1-y}\le\V{a_1}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>2</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>2</mn></msub><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a_2-y}\le\V{a_2}</annotation></semantics></math></span>. Adding them together gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>2</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>2</mn></msub><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mrow><mo fence="true">∣</mo><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>+</mo><mrow><mo fence="true">∣</mo><msub><mi>π</mi><mi>r</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo fence="true">)</mo></mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><msub><mi>a</mi><mn>2</mn></msub><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{a_1-y}+\V{a_2-y}\le\V{a_1}+\V{a_2}=\p{\v{\fc{\pi_r}{a_1}}+\v{\fc{\pi_r}{a_2}}}\V u
=\V{a_1-a_2}.</annotation></semantics></math></span> By the triangle inequality, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>2</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><msub><mi>a</mi><mn>2</mn></msub><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{a_1-y}+\V{a_2-y}\ge\V{a_1-a_2}.</annotation></semantics></math></span> Therefore, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>2</mn></msub><mo>−</mo><mi>y</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mn>1</mn></msub><mo>−</mo><msub><mi>a</mi><mn>2</mn></msub><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a_1-y}+\V{a_2-y}=\V{a_1-a_2}</annotation></semantics></math></span>, which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is also on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi><mi>u</mi></mrow><annotation encoding="application/x-tex">\bR u</annotation></semantics></math></span> since <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is strictly convex, but this is impossible because we dictate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">u,y</annotation></semantics></math></span> to be linearly independent in the definition of the bisector coordinate system, so this is a contradiction.</p>
<p>Either way, we have a contradiction, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,0}=\B0</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:balanced-tangent-chords-to-p1a">35</span>.</strong> A normed plane with balanced tangent chords satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm a</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed plane with balanced tangent chords. By Theorem <span class="citation" data-cites="thm:voronoi-cell-equivalence"><a href="#thm:voronoi-cell-equivalence">5</a></span>, to prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm a</annotation></semantics></math></span>, it is equivalent to prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}D_y</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">D_y</annotation></semantics></math></span> is the Voronoi cell of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. The case where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span> is trivial, and we assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y\ne0</annotation></semantics></math></span> from here.</p>
<p>By Lemma <span class="citation" data-cites="thm:balanced-tangent-chords-equivalence"><a href="#thm:balanced-tangent-chords-equivalence">32</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is positively bisectable. This means we can choose a nonzero <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi>inf</mi><mo>⁡</mo></mrow><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow></msub><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≕</mi></mo><mi>ε</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\inf_{r\in\bR}\fc{\beta_{u,y}}r\eqc\veps&gt;0</annotation></semantics></math></span>.</p>
<p>Set up a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">D_y=\set{ru+sy}{s&gt;\fc\beta r}</annotation></semantics></math></span> by Lemma <span class="citation" data-cites="thm:voronoi-cell-descent-coordinate"><a href="#thm:voronoi-cell-descent-coordinate">29</a></span>. By the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi></mrow><annotation encoding="application/x-tex">\veps</annotation></semantics></math></span> bound, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>⊆</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>ε</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">D_y\subseteq\set{ru+sy}{s&gt;\veps}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub><mo>⊆</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>≥</mo><mi>ε</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}D_y\subseteq\set{ru+sy}{s\ge\veps}</annotation></semantics></math></span>. We then obviously have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}D_y</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:strictly-convex-balanced-tangent-chords-to-bar-p1a">36</span>.</strong> A strictly convex plane with balanced tangent chords satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm a</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a strictly convex plane with balanced tangent chords. By Theorem <span class="citation" data-cites="thm:voronoi-cell-equivalence"><a href="#thm:voronoi-cell-equivalence">5</a></span>, to prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm a</annotation></semantics></math></span>, it is equivalent to prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}\bar D_y</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">y\in X\setminus\B0</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\bar D_y</annotation></semantics></math></span> is the closed Voronoi cell of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>.</p>
<p>By Lemma <span class="citation" data-cites="thm:balanced-tangent-chords-equivalence"><a href="#thm:balanced-tangent-chords-equivalence">32</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is positively bisectable. This means we can choose a nonzero <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi>inf</mi><mo>⁡</mo></mrow><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow></msub><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≕</mi></mo><mi>ε</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\inf_{r\in\bR}\fc{\beta_{u,y}}r\eqc\veps&gt;0</annotation></semantics></math></span>.</p>
<p>Set up a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">D_y=\set{ru+sy}{s&gt;\fc\beta r}</annotation></semantics></math></span> by Lemma <span class="citation" data-cites="thm:voronoi-cell-descent-coordinate"><a href="#thm:voronoi-cell-descent-coordinate">29</a></span>. By the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi></mrow><annotation encoding="application/x-tex">\veps</annotation></semantics></math></span> bound, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>⊆</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>ε</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">D_y\subseteq\set{ru+sy}{s&gt;\veps}</annotation></semantics></math></span>. Take the closure to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover><mo>⊆</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>≥</mo><mi>ε</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\overline{D_y}\subseteq\set{ru+sy}{s\ge\veps}</annotation></semantics></math></span>. By Theorem <span class="citation" data-cites="thm:voronoi-cell-closure"><a href="#thm:voronoi-cell-closure">11</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo>=</mo><mover accent="true"><msub><mi>D</mi><mi>y</mi></msub><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\bar D_y=\overline{D_y}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub><mo>⊆</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>≥</mo><mi>ε</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\bar D_y\subseteq\set{ru+sy}{s\ge\veps}</annotation></semantics></math></span>. We then obviously have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mover accent="true"><mi>D</mi><mo>ˉ</mo></mover><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}\bar D_y</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:not-balanced-tangent-chords-to-not-p1a">37</span>.</strong> A normed plane without balanced tangent chords does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm a</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed plane without balanced tangent chords. By Theorem <span class="citation" data-cites="thm:voronoi-cell-equivalence"><a href="#thm:voronoi-cell-equivalence">5</a></span>, to prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm a</annotation></semantics></math></span>, it is equivalent to prove that there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\in\opn{\overline{conv}}D_y</annotation></semantics></math></span>.</p>
<p>By Lemma <span class="citation" data-cites="thm:balanced-tangent-chords-equivalence"><a href="#thm:balanced-tangent-chords-equivalence">32</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> is not positively bisectable. Choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">y\in X</annotation></semantics></math></span> at which positive bisectability fails. For every nonzero <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span>, nonnegativity of the bisector function then gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi>inf</mi><mo>⁡</mo></mrow><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow></msub><msub><mi>β</mi><mrow><mi>u</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\inf_{r\in\bR}\fc{\beta_{u,y}}r=0</annotation></semantics></math></span>. Fix one such <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span>. Since <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y=0</annotation></semantics></math></span> trivially cannot satisfy this condition, we assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y\ne0</annotation></semantics></math></span> from here. Set up a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,y}</annotation></semantics></math></span>.</p>
<p>By Lemma <span class="citation" data-cites="thm:not-left-unique-to-balanced-tangent-chords"><a href="#thm:not-left-unique-to-balanced-tangent-chords">31</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is the only nonzero vector in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>y</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}y</annotation></semantics></math></span> up to scalar multiples. Therefore, by Lemma <span class="citation" data-cites="thm:bisector-function-nonnegative"><a href="#thm:bisector-function-nonnegative">28</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\beta r\in\p{0,1}</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r\in\bR</annotation></semantics></math></span>.</p>
<p>The zero infimum of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> means there exists a sequence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>r</mi><mi>n</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{r_n}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>r</mi><mi>n</mi></msub><mo fence="true">)</mo></mrow><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\beta{r_n}\to0</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>b</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>r</mi><mi>n</mi></msub><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>r</mi><mi>n</mi></msub><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mi>n</mi></mfrac><mo fence="true">)</mo></mrow><mi>y</mi><mo separator="true">,</mo><mspace width="2em"/><msubsup><mi>b</mi><mi>n</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mi>n</mi><msub><mi>r</mi><mi>n</mi></msub><mi>u</mi><mo>+</mo><mi>y</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">b_n\ceq r_nu+\p{\fc\beta{r_n}+\fr1n}y,\qquad
b&#x27;_n\ceq-nr_nu+y.</annotation></semantics></math></span> Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>y</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>y</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">D_y=\set{ru+sy}{s&gt;\fc\beta r}</annotation></semantics></math></span> by Lemma <span class="citation" data-cites="thm:voronoi-cell-descent-coordinate"><a href="#thm:voronoi-cell-descent-coordinate">29</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>b</mi><mi>n</mi></msub><mo separator="true">,</mo><msubsup><mi>b</mi><mi>n</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>∈</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">b_n,b_n&#x27;\in D_y</annotation></semantics></math></span>. Then, the convex combination <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>a</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mrow><mi>n</mi><msub><mi>b</mi><mi>n</mi></msub><mo>+</mo><msubsup><mi>b</mi><mi>n</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mfrac><mo>=</mo><mfrac><mrow><mi>n</mi><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>r</mi><mi>n</mi></msub><mo fence="true">)</mo></mrow><mo>+</mo><mn>2</mn></mrow><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mfrac><mi>y</mi><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">a_n\ceq\fr{nb_n+b&#x27;_n}{n+1}=\fr{n\fc\beta{r_n}+2}{n+1}y\in\opn{conv}D_y.</annotation></semantics></math></span> The limit of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>n</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_n}</annotation></semantics></math></span> is then in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">\opn{\overline{conv}}D_y</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>D</mi><mi>y</mi></msub></mrow><annotation encoding="application/x-tex">0\in\opn{\overline{conv}}D_y</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:2d-strictly-convex-to-p2a">38</span>.</strong> A strictly convex plane satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm a</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a strictly convex plane. We need to prove that for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\notin\opn{\overline{conv}}S</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc I{S,x}\ne\varnothing</annotation></semantics></math></span>.</p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">C\ceq\opn{\overline{conv}}S-x</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">0\notin C</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span> is a closed convex set, by the <a href="https://en.wikipedia.org/wiki/Hahn%E2%80%93Banach_theorem#Geometric_Hahn%E2%80%93Banach_(the_Hahn%E2%80%93Banach_separation_theorems)" target="_blank" rel="external">Hahn–Banach separation theorem</a>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f&#x27;\in X^*</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\dlt\in\p{0,+\infty}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo>:</mo><msup><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>δ</mi></mrow><annotation encoding="application/x-tex">\forall a\in C:\fc{f&#x27;}a\ge\dlt</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><mi>δ</mi></mrow><annotation encoding="application/x-tex">f\ceq f&#x27;/\dlt</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\forall a\in C:\fc fa\ge1</annotation></semantics></math></span>.</p>
<p>Pick any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>f</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">u\in\opn{ker}f\setminus\B0</annotation></semantics></math></span>. By Theorem <span class="citation" data-cites="thm:subdifferential-properties"><a href="#thm:subdifferential-properties">7</a></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">g\in\fc Ju</annotation></semantics></math></span>. Pick any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>g</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">v&#x27;\in\opn{ker}g\setminus\B0</annotation></semantics></math></span>. Then, by Equation <a href="#eq:subdifferential-inequality">4</a>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mi>t</mi><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\forall t\in\bR:\V{u+tv&#x27;}-\V u\ge t\fc g{v&#x27;}=0</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v&#x27;</annotation></semantics></math></span>. By Theorem <span class="citation" data-cites="thm:bj-orthogonal-existence"><a href="#thm:bj-orthogonal-existence">13</a></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u,v&#x27;</annotation></semantics></math></span> are linearly independent, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo mathvariant="normal">∉</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>f</mi></mrow><annotation encoding="application/x-tex">v&#x27;\notin\opn{ker}f</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">v\ceq v&#x27;/\fc f{v&#x27;}</annotation></semantics></math></span>.</p>
<p>Set up a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,v}</annotation></semantics></math></span>. We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc fu=0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\fc fv=1</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>=</mo><msub><mi>π</mi><mi>s</mi></msub></mrow><annotation encoding="application/x-tex">f=\pi_s</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\forall a\in C:\fc fa\ge1</annotation></semantics></math></span> is equivalent to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mi>s</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\forall ru+sv\in C:s\ge1</annotation></semantics></math></span>. By Lemma <span class="citation" data-cites="thm:bisector-function-nonnegative"><a href="#thm:bisector-function-nonnegative">28</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\fc\beta r&lt;1</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r\in\bR</annotation></semantics></math></span>. By Lemma <span class="citation" data-cites="thm:voronoi-cell-descent-coordinate"><a href="#thm:voronoi-cell-descent-coordinate">29</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>D</mi><mi>v</mi></msub><mo>=</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>&gt;</mo><mi>β</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">D_v=\set{ru+sv}{s&gt;\fc\beta r}</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>S</mi><mo>−</mo><mi>x</mi><mo>⊆</mo><mi>C</mi><mo>⊆</mo><mrow><mo fence="true">{</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>s</mi><mo>≥</mo><mn>1</mn><mo fence="true">}</mo></mrow><mo>⊆</mo><msub><mi>D</mi><mi>v</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">S-x\subseteq C\subseteq\set{ru+sv}{s\ge1}\subseteq D_v.</annotation></semantics></math></span> By Definition <span class="citation" data-cites="thm:voronoi-cell"><a href="#thm:voronoi-cell">4</a></span>, we can easily see <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>+</mo><mi>v</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x+v\in\fc I{S,x}</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<p class="no-indent">
<strong>Theorem <span id="thm:2d-to-bar-p2a">39</span>.</strong> A normed plane satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm a</annotation></semantics></math></span>.
</p>
<details>
<summary>
Proof
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> be a normed plane. We need to prove that for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">x\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\notin\opn{\overline{conv}}S</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>∖</mo><mrow><mo fence="true">{</mo><mi>x</mi><mo fence="true">}</mo></mrow><mo mathvariant="normal">≠</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,x}\setminus\B x\ne\varnothing</annotation></semantics></math></span>.</p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">C\ceq\opn{\overline{conv}}S-x</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">0\notin C</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span> is a closed convex set, by the <a href="https://en.wikipedia.org/wiki/Hahn%E2%80%93Banach_theorem#Geometric_Hahn%E2%80%93Banach_(the_Hahn%E2%80%93Banach_separation_theorems)" target="_blank" rel="external">Hahn–Banach separation theorem</a>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">f&#x27;\in X^*</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\dlt\in\p{0,+\infty}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo>:</mo><msup><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>δ</mi></mrow><annotation encoding="application/x-tex">\forall a\in C:\fc{f&#x27;}a\ge\dlt</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>f</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><mi>δ</mi></mrow><annotation encoding="application/x-tex">f\ceq f&#x27;/\dlt</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\forall a\in C:\fc fa\ge1</annotation></semantics></math></span>.</p>
<p>Pick any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>f</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">u\in\opn{ker}f\setminus\B0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">g\in\fc Ju</annotation></semantics></math></span>. Choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>g</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">v&#x27;\in\opn{ker}g\setminus\B0</annotation></semantics></math></span>. The subgradient inequality gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>u</mi><mo>+</mo><mi>t</mi><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mi>t</mi><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{u+tv&#x27;}\ge\V u+t\fc g{v&#x27;}=\V u</annotation></semantics></math></span> for every real <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v&#x27;</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo separator="true">,</mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u,v&#x27;</annotation></semantics></math></span> are linearly independent, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo mathvariant="normal">∉</mo><mi mathvariant="normal">ker</mi><mo>⁡</mo><mi>f</mi></mrow><annotation encoding="application/x-tex">v&#x27;\notin\opn{ker}f</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc f{v&#x27;}\ne0</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>v</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">v\ceq v&#x27;/\fc f{v&#x27;}</annotation></semantics></math></span>. Because Birkhoff–James orthogonality is invariant under scalar multiplication, we still have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v</annotation></semantics></math></span>. Also, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\fc fv=1</annotation></semantics></math></span>.</p>
<p>Set up a bisector coordinate system with basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u,v}</annotation></semantics></math></span>. Any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">a\in C</annotation></semantics></math></span> can be expressed as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>=</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi></mrow><annotation encoding="application/x-tex">a=ru+sv</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo separator="true">,</mo><mi>s</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r,s\in\bR</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\fc fa\ge1</annotation></semantics></math></span> can be expressed as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mo>∈</mo><mi>C</mi><mo>:</mo><mi>s</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\forall ru+sv\in C:s\ge1</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><msub><mo>⊥</mo><mrow><mi mathvariant="normal">B</mi><mi mathvariant="normal">J</mi></mrow></msub><mi>v</mi></mrow><annotation encoding="application/x-tex">u\perp_\mrm{BJ}v</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{ru+sv}\ge\V{ru}</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo separator="true">,</mo><mi>s</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r,s\in\bR</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>↦</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">s\mapsto\V{ru+sv}</annotation></semantics></math></span> achieves its global minimum at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">s=0</annotation></semantics></math></span>. Because it is a convex function, it is monotonically non-decreasing on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\left[0,+\infty\right)</annotation></semantics></math></span>. Then, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">a\in C</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>r</mi><mi>u</mi><mo>+</mo><mi>s</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{a-v}=\V{ru+\p{s-1}v}\le\V{ru+sv}=\V a.</annotation></semantics></math></span> We can then see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>+</mo><mi>v</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x+v\in\fc{\bar I}{S,x}</annotation></semantics></math></span>. This proves <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm a</annotation></semantics></math></span>. <span class="qed-wrapper qed-normal"><span class="qed qed-normal"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">□</mi></mrow><annotation encoding="application/x-tex">\square</annotation></semantics></math></span></span></span></p>
</details>
<h2 data-label="0.6" id="summary">Summary</h2>
<p>The following table lists the established sufficiency and necessity results for the properties <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_{\supset,\subset}^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_{\supset,\subset}^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span>.</p>
<table>
<thead>
<tr>
<th>Property</th>
<th>Sufficiency</th>
<th>Necessity</th>
</tr>
</thead>
<tbody>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^{\mrm f,\mrm c,\mrm b}</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:inner-product-to-bar-p1a"><a href="#thm:inner-product-to-bar-p1a">17</a></span>, <span class="citation" data-cites="thm:2d-to-p1b"><a href="#thm:2d-to-p1b">33</a></span></td>
<td><span class="citation" data-cites="thm:not-inner-product-to-not-p1f"><a href="#thm:not-inner-product-to-not-p1f">18</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^\mrm a</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:inner-product-to-bar-p1a"><a href="#thm:inner-product-to-bar-p1a">17</a></span>, <span class="citation" data-cites="thm:balanced-tangent-chords-to-p1a"><a href="#thm:balanced-tangent-chords-to-p1a">35</a></span></td>
<td><span class="citation" data-cites="thm:not-inner-product-to-not-p1f"><a href="#thm:not-inner-product-to-not-p1f">18</a></span>, <span class="citation" data-cites="thm:not-balanced-tangent-chords-to-not-p1a"><a href="#thm:not-balanced-tangent-chords-to-not-p1a">37</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^{\mrm f,\mrm c}</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:inner-product-to-p2b"><a href="#thm:inner-product-to-p2b">21</a></span>, <span class="citation" data-cites="thm:2d-strictly-convex-to-p2a"><a href="#thm:2d-strictly-convex-to-p2a">38</a></span></td>
<td><span class="citation" data-cites="thm:not-strictly-convex-to-not-p2f"><a href="#thm:not-strictly-convex-to-not-p2f">1</a></span>, <span class="citation" data-cites="thm:finite-dimension-not-inner-product-to-not-bar-p2f"><a href="#thm:finite-dimension-not-inner-product-to-not-bar-p2f">22</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm b</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:inner-product-to-p2b"><a href="#thm:inner-product-to-p2b">21</a></span>, <span class="citation" data-cites="thm:2d-strictly-convex-to-p2a"><a href="#thm:2d-strictly-convex-to-p2a">38</a></span></td>
<td><span class="citation" data-cites="thm:not-strictly-convex-to-not-p2f"><a href="#thm:not-strictly-convex-to-not-p2f">1</a></span>, <span class="citation" data-cites="thm:not-inner-product-to-not-bar-p2b"><a href="#thm:not-inner-product-to-not-bar-p2b">23</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm a</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:hilbert-to-p2a"><a href="#thm:hilbert-to-p2a">19</a></span>, <span class="citation" data-cites="thm:2d-strictly-convex-to-p2a"><a href="#thm:2d-strictly-convex-to-p2a">38</a></span></td>
<td><span class="citation" data-cites="thm:not-strictly-convex-to-not-p2f"><a href="#thm:not-strictly-convex-to-not-p2f">1</a></span>, <span class="citation" data-cites="thm:not-hilbert-to-not-bar-p2a"><a href="#thm:not-hilbert-to-not-bar-p2a">20</a></span>, <span class="citation" data-cites="thm:not-inner-product-to-not-bar-p2b"><a href="#thm:not-inner-product-to-not-bar-p2b">23</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^{\mrm f,\mrm c,\mrm b}</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:inner-product-to-bar-p1a"><a href="#thm:inner-product-to-bar-p1a">17</a></span>, <span class="citation" data-cites="thm:strictly-convex-2d-to-bar-p1b"><a href="#thm:strictly-convex-2d-to-bar-p1b">34</a></span></td>
<td><span class="citation" data-cites="thm:not-strictly-convex-to-not-bar-p1f"><a href="#thm:not-strictly-convex-to-not-bar-p1f">2</a></span>, <span class="citation" data-cites="thm:not-inner-product-to-not-p1f"><a href="#thm:not-inner-product-to-not-p1f">18</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^\mrm a</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:inner-product-to-bar-p1a"><a href="#thm:inner-product-to-bar-p1a">17</a></span>, <span class="citation" data-cites="thm:strictly-convex-balanced-tangent-chords-to-bar-p1a"><a href="#thm:strictly-convex-balanced-tangent-chords-to-bar-p1a">36</a></span></td>
<td><span class="citation" data-cites="thm:not-strictly-convex-to-not-bar-p1f"><a href="#thm:not-strictly-convex-to-not-bar-p1f">2</a></span>, <span class="citation" data-cites="thm:not-inner-product-to-not-p1f"><a href="#thm:not-inner-product-to-not-p1f">18</a></span>, <span class="citation" data-cites="thm:not-balanced-tangent-chords-to-not-p1a"><a href="#thm:not-balanced-tangent-chords-to-not-p1a">37</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^{\mrm f,\mrm c}</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:inner-product-to-p2b"><a href="#thm:inner-product-to-p2b">21</a></span>, <span class="citation" data-cites="thm:2d-to-bar-p2a"><a href="#thm:2d-to-bar-p2a">39</a></span></td>
<td><span class="citation" data-cites="thm:finite-dimension-not-inner-product-to-not-bar-p2f"><a href="#thm:finite-dimension-not-inner-product-to-not-bar-p2f">22</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm b</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:inner-product-to-p2b"><a href="#thm:inner-product-to-p2b">21</a></span>, <span class="citation" data-cites="thm:2d-to-bar-p2a"><a href="#thm:2d-to-bar-p2a">39</a></span></td>
<td><span class="citation" data-cites="thm:not-inner-product-to-not-bar-p2b"><a href="#thm:not-inner-product-to-not-bar-p2b">23</a></span></td>
</tr>
<tr>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm a</annotation></semantics></math></span></td>
<td><span class="citation" data-cites="thm:hilbert-to-p2a"><a href="#thm:hilbert-to-p2a">19</a></span>, <span class="citation" data-cites="thm:2d-to-bar-p2a"><a href="#thm:2d-to-bar-p2a">39</a></span></td>
<td><span class="citation" data-cites="thm:not-hilbert-to-not-bar-p2a"><a href="#thm:not-hilbert-to-not-bar-p2a">20</a></span>, <span class="citation" data-cites="thm:not-inner-product-to-not-bar-p2b"><a href="#thm:not-inner-product-to-not-bar-p2b">23</a></span></td>
</tr>
</tbody>
</table>
<h2 data-label="0.7" id="open-problems">Open problems</h2>
<p>What geometric conditions, stated with a fixed number of point variables rather than quantifiers over finite or compact subsets, characterize infinite-dimensional normed spaces satisfying <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^{\mrm f,\mrm c}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^{\mrm f,\mrm c}</annotation></semantics></math></span>?</p>
<p>In fact, we have the strict hierarchy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup><mo>⇏</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup><mo>⇏</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^{\mrm f}\not\Rightarrow\bar P_\subset^{\mrm c}\not\Rightarrow\bar P_\subset^{\mrm b}</annotation></semantics></math></span>. An example of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup><mo>∧</mo><mi mathvariant="normal">¬</mi><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^{\mrm c}\land\neg\bar P_\subset^{\mrm b}</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">c_{00}</annotation></semantics></math></span>, and an example of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup><mo>∧</mo><mi mathvariant="normal">¬</mi><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^{\mrm f}\land\neg\bar P_\subset^{\mrm c}</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi><mn>3</mn></msubsup><msub><mo>⊕</mo><mi mathvariant="normal">∞</mi></msub><mrow><mo fence="true">(</mo><msub><mi>c</mi><mn>00</mn></msub><mo>+</mo><mi mathvariant="double-struck">R</mi><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\ell_\infty^3\oplus_\infty\p{c_{00}+\bR u}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">c_{00}</annotation></semantics></math></span> is the space of all sequences with finitely many nonzero elements equipped with the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi></msub></mrow><annotation encoding="application/x-tex">\ell_\infty</annotation></semantics></math></span> norm, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is a particular element in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi></msub></mrow><annotation encoding="application/x-tex">\ell_\infty</annotation></semantics></math></span> defined by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>n</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc un\ceq n/\p{n+1}</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">c_{00}</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm c</annotation></semantics></math></span>
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">S\subseteq c_{00}</annotation></semantics></math></span> be a compact set and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>c</mi><mn>00</mn></msub><mo>∖</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\in c_{00}\setminus S</annotation></semantics></math></span>.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is compact and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\notin S</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mi>min</mi><mo>⁡</mo></mrow><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></msub><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\dlt\ceq\min_{a\in S}\V{x-a}&gt;0</annotation></semantics></math></span>.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is compact, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>∪</mo><mrow><mo fence="true">{</mo><mi>x</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S\cup\B x</annotation></semantics></math></span> is also compact, so all sequences in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>∪</mo><mrow><mo fence="true">{</mo><mi>x</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S\cup\B x</annotation></semantics></math></span> converge uniformly to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>. There then exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi></mrow><annotation encoding="application/x-tex">N\in\bN</annotation></semantics></math></span> such that, whenever <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>≥</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">n\ge N</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mi>δ</mi><mi mathvariant="normal">/</mi><mn>4</mn></mrow><annotation encoding="application/x-tex">\v{\fc an}&lt;\dlt/4</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mi>δ</mi><mi mathvariant="normal">/</mi><mn>4</mn></mrow><annotation encoding="application/x-tex">\v{\fc xn}&lt;\dlt/4</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>+</mo><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mi>δ</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\v{\fc xn-\fc an}\le\v{\fc xn}+\v{\fc an}&lt;\dlt/2</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>≥</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">n\ge N</annotation></semantics></math></span>.</p>
<details>
<summary>
Why a compact set converges uniformly
</summary>
<p>Given a compact set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">S\subseteq c_{00}</annotation></semantics></math></span>, we will prove that sequences in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> converge uniformly to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>, which is to prove that for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\veps\in\p{0,+\infty}</annotation></semantics></math></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi></mrow><annotation encoding="application/x-tex">N\in\bN</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>n</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mi>N</mi><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>∩</mo><mi mathvariant="double-struck">N</mi><mo separator="true">,</mo><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mi>ε</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall n\in\left[N,+\infty\right)\cap\bN,a\in S:\v{\fc an}&lt;\veps.</annotation></semantics></math></span> Given <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi></mrow><annotation encoding="application/x-tex">\veps</annotation></semantics></math></span>, consider the open cover of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> given by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mi>ε</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>a</mi><mo>∈</mo><mi>S</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\set{\fc B{a,\veps/2}}{a\in S}</annotation></semantics></math></span>. It must have a finite subcover <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mi>ε</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\set{\fc B{a,\veps/2}}{a\in S&#x27;}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>⊆</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">S&#x27;\subseteq S</annotation></semantics></math></span> is a finite set. This set being a cover means that there exists a mapping <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>:</mo><mi>S</mi><mo>→</mo><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">p:S\to S&#x27;</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mi>ε</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\forall a\in S:\V{a-\fc pa}&lt;\veps/2</annotation></semantics></math></span>.</p>
<p>For each <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">a\in S&#x27;</annotation></semantics></math></span>, because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>n</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></msub><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lim_{n\to\infty}\fc an=0</annotation></semantics></math></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>N</mi><mi>a</mi></msub><mo>∈</mo><mi mathvariant="double-struck">N</mi></mrow><annotation encoding="application/x-tex">N_a\in\bN</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>n</mi><mo>∈</mo><mrow><mo fence="true">[</mo><msub><mi>N</mi><mi>a</mi></msub><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>∩</mo><mi mathvariant="double-struck">N</mi><mo>:</mo><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mfrac><mi>ε</mi><mn>2</mn></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall n\in\left[N_a,+\infty\right)\cap\bN:\v{\fc an}&lt;\fr\veps2.</annotation></semantics></math></span> Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>a</mi><mo>∈</mo><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></msub><msub><mi>N</mi><mi>a</mi></msub></mrow><annotation encoding="application/x-tex">N\ceq\max_{a\in S&#x27;}N_a</annotation></semantics></math></span>. Whenever <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>≥</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">n\ge N</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>+</mo><mrow><mo fence="true">∣</mo><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∣</mo><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mfrac><mi>ε</mi><mn>2</mn></mfrac><mo>+</mo><mfrac><mi>ε</mi><mn>2</mn></mfrac><mo>=</mo><mi>ε</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall a\in S:\v{\fc an}\le\v{\fc an-\fc{\fc pa}n}+\v{\fc{\fc pa}n}
\le\V{a-\fc pa}+\v{\fc{\fc pa}n}&lt;\fr\veps2+\fr\veps2=\veps.</annotation></semantics></math></span> Therefore, sequences in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> converge uniformly to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>.</p>
</details>
<p>Set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>x</mi><mo>+</mo><mi>δ</mi><msub><mi>e</mi><mi>N</mi></msub><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">y\ceq x+\dlt e_N/2</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>e</mi><mi>N</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>δ</mi><mrow><mi>N</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\fc{e_N}n\ceq\dlt_{N,n}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>δ</mi><mrow><mi>N</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\dlt_{N,n}</annotation></semantics></math></span> is the Kronecker delta. For every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>≥</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">n\ge N</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>+</mo><mrow><mo fence="true">∣</mo><mfrac><mi>δ</mi><mn>2</mn></mfrac><msub><mi>δ</mi><mrow><mi>N</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mfrac><mi>δ</mi><mn>2</mn></mfrac><mo>+</mo><mfrac><mi>δ</mi><mn>2</mn></mfrac><mo>=</mo><mi>δ</mi><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\v{\fc yn-\fc an}\le\v{\fc xn-\fc an}+\v{\fr\dlt2\dlt_{N,n}}
&lt;\fr\dlt2+\fr\dlt2=\dlt\le\V{x-a}.</annotation></semantics></math></span> For every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>&lt;</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">n&lt;N</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>=</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\v{\fc yn-\fc an}=\v{\fc xn-\fc an}\le\V{x-a}</annotation></semantics></math></span>. Therefore, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>=</mo><munder><mrow><mi>sup</mi><mo>⁡</mo></mrow><mrow><mi>n</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi></mrow></munder><mrow><mo fence="true">∣</mo><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{y-a}=\sup_{n\in\bN}\v{\fc yn-\fc an}\le\V{x-a}.</annotation></semantics></math></span> This proves that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,x}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x\notin\fc{\bar P}S</annotation></semantics></math></span>.</p>
<p>We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>S</mi><mo>⊆</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\fc{\bar P}S\subseteq S\subseteq\opn{\overline{conv}}S</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">c_{00}</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm c</annotation></semantics></math></span>.</p>
</details>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi><mn>3</mn></msubsup><msub><mo>⊕</mo><mi mathvariant="normal">∞</mi></msub><mrow><mo fence="true">(</mo><msub><mi>c</mi><mn>00</mn></msub><mo>+</mo><mi mathvariant="double-struck">R</mi><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\ell_\infty^3\oplus_\infty\p{c_{00}+\bR u}</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm f</annotation></semantics></math></span>
</summary>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi><mn>3</mn></msubsup><msub><mo>⊕</mo><mi mathvariant="normal">∞</mi></msub><mrow><mo fence="true">(</mo><msub><mi>c</mi><mn>00</mn></msub><mo>+</mo><mi mathvariant="double-struck">R</mi><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">X\ceq\ell_\infty^3\oplus_\infty\p{c_{00}+\bR u}</annotation></semantics></math></span>. Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> be a finite set and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>X</mi><mo>∖</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\in X\setminus S</annotation></semantics></math></span>. Every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span> can be expressed as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>=</mo><mi>x</mi><mo>−</mo><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>a</mi></msub><mo separator="true">,</mo><msub><mi>z</mi><mi>a</mi></msub><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">a=x-\p{q_a,z_a+r_au}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>a</mi></msub><mo>∈</mo><msubsup><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi><mn>3</mn></msubsup></mrow><annotation encoding="application/x-tex">q_a\in\ell_\infty^3</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mi>a</mi></msub><mo>∈</mo><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">z_a\in c_{00}</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mi>a</mi></msub><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">r_a\in\bR</annotation></semantics></math></span>. We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><msub><mi>z</mi><mi>a</mi></msub><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>n</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>z</mi><mi>a</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>=</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{x-a}\ge\V{z_a+r_au}\ge\lim_{n\to\infty}\v{\fc{z_a}n+r_a\fc un}=\v{r_a}.</annotation></semantics></math></span> Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>N</mi><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mo>+</mo><mi>max</mi><mo>⁡</mo><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo>∪</mo><munder><mo>⋃</mo><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></munder><mrow><mo fence="true">{</mo><mi>n</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><msub><mi>z</mi><mi>a</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><mn>0</mn><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">N\ceq1+\max\p{\B0\cup\bigcup_{a\in S}\set{n\in\bN}{\fc{z_a}n\ne0}},</annotation></semantics></math></span> which is finite because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mi>a</mi></msub></mrow><annotation encoding="application/x-tex">z_a</annotation></semantics></math></span> has only finitely many nonzero elements. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mi>a</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r_a=0</annotation></semantics></math></span>, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>=</mo><mn>0</mn><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\v{r_a\fc uN}=0&lt;\V{x-a}</annotation></semantics></math></span>. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mi>a</mi></msub><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r_a\ne0</annotation></semantics></math></span>, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\v{r_a\fc uN}&lt;\v{r_a}\le\V{x-a}</annotation></semantics></math></span>. Either way, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>δ</mi><mo><mi mathvariant="normal">≔</mi></mo><munder><mrow><mi>min</mi><mo>⁡</mo></mrow><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></munder><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\dlt\ceq\min_{a\in S}\p{\V{x-a}-\v{r_a\fc uN}}&gt;0.</annotation></semantics></math></span></p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>x</mi><mo>+</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mi>δ</mi><msub><mi>e</mi><mi>N</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y\ceq x+\p{0,\dlt e_N}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>e</mi><mi>N</mi></msub><mo>∈</mo><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">e_N\in c_{00}</annotation></semantics></math></span> is defined by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>e</mi><mi>N</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>δ</mi><mrow><mi>N</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\fc{e_N}n\ceq\dlt_{N,n}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>δ</mi><mrow><mi>N</mi><mo separator="true">,</mo><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\dlt_{N,n}</annotation></semantics></math></span> is the Kronecker delta. Then, for every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>=</mo><mi>y</mi><mo>−</mo><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>a</mi></msub><mo separator="true">,</mo><msub><mi>z</mi><mi>a</mi></msub><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mo>+</mo><mi>δ</mi><msub><mi>e</mi><mi>N</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">a=y-\p{q_a,z_a+r_au+\dlt e_N}</annotation></semantics></math></span>. Now, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><mrow><mo fence="true">(</mo><msub><mi>z</mi><mi>a</mi></msub><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mo>+</mo><mi>δ</mi><msub><mi>e</mi><mi>N</mi></msub><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>+</mo><mi>δ</mi><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\v{\fc{\p{z_a+r_au+\dlt e_N}}N}\le\v{r_a\fc uN}+\dlt\le\V{x-a}.</annotation></semantics></math></span> For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi><mo>∖</mo><mrow><mo fence="true">{</mo><mi>N</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">n\in\bN\setminus\B N</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><mrow><mo fence="true">(</mo><msub><mi>z</mi><mi>a</mi></msub><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mo>+</mo><mi>δ</mi><msub><mi>e</mi><mi>N</mi></msub><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>=</mo><mrow><mo fence="true">∣</mo><msub><mi>z</mi><mi>a</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>z</mi><mi>a</mi></msub><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\v{\fc{\p{z_a+r_au+\dlt e_N}}n}=\v{\fc{z_a}n+r_a\fc un}\le\V{z_a+r_au}\le\V{x-a}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mi mathvariant="normal">max</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><msub><mi>q</mi><mi>a</mi></msub><mo fence="true">∥</mo></mrow><mo separator="true">,</mo><mrow><mo fence="true">∥</mo><msub><mi>z</mi><mi>a</mi></msub><mo>+</mo><msub><mi>r</mi><mi>a</mi></msub><mi>u</mi><mo>+</mo><mi>δ</mi><msub><mi>e</mi><mi>N</mi></msub><mo fence="true">∥</mo></mrow><mo fence="true">)</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{y-a}=\opc{max}{\V{q_a},\V{z_a+r_au+\dlt e_N}}\le\V{x-a}.</annotation></semantics></math></span> This proves that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc{\bar I}{S,x}</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x\notin\fc{\bar P}S</annotation></semantics></math></span>.</p>
<p>Therefore, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>S</mi><mo>⊆</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\fc{\bar P}S\subseteq S\subseteq\opn{\overline{conv}}S</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm f</annotation></semantics></math></span>.</p>
</details>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi><mn>3</mn></msubsup><msub><mo>⊕</mo><mi mathvariant="normal">∞</mi></msub><mrow><mo fence="true">(</mo><msub><mi>c</mi><mn>00</mn></msub><mo>+</mo><mi mathvariant="double-struck">R</mi><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\ell_\infty^3\oplus_\infty\p{c_{00}+\bR u}</annotation></semantics></math></span> does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm c</annotation></semantics></math></span>
</summary>
<p>Take <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>S</mi><mn>1</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mn>1</mn><mo separator="true">,</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mo>−</mo><mn>1</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo separator="true">,</mo><mn>1</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow><mo>⊆</mo><msubsup><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi><mn>3</mn></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">S_1\ceq\B{\p{1,1,-1},\p{1,-1,1},\p{-1,1,1}}\subseteq\ell_\infty^3.</annotation></semantics></math></span> Every point of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">S_1</annotation></semantics></math></span> has norm <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> and coordinate sum <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>S</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}S_1</annotation></semantics></math></span>. Each coordinate takes both values <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">-1</annotation></semantics></math></span> among these points. Thus the inequalities <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><msub><mi>y</mi><mn>1</mn></msub><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{y_1-a}\le1</annotation></semantics></math></span> for every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><msub><mi>S</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">a\in S_1</annotation></semantics></math></span> force each coordinate of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>y</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">y_1</annotation></semantics></math></span> to be <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>1</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_1,0}=\B0</annotation></semantics></math></span>.</p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mn>2</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>n</mi></msub><mo separator="true">,</mo><mo>−</mo><msub><mi>a</mi><mi>n</mi></msub><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>n</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi><mo>∪</mo><mrow><mo fence="true">{</mo><mi mathvariant="normal">∞</mi><mo fence="true">}</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S_2\ceq\set{a_n,-a_n}{n\in\bN\cup\B\infty}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>u</mi><mo>+</mo><msub><mi>e</mi><mi>n</mi></msub><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">a_n\ceq u+e_n/\p{n+1}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi mathvariant="normal">∞</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>u</mi></mrow><annotation encoding="application/x-tex">a_\infty\ceq u</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>e</mi><mi>n</mi></msub><mo>∈</mo><msub><mi>c</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">e_n\in c_{00}</annotation></semantics></math></span> is defined by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>e</mi><mi>n</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>m</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>δ</mi><mrow><mi>n</mi><mo separator="true">,</mo><mi>m</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\fc{e_n}m\ceq\dlt_{n,m}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>δ</mi><mrow><mi>n</mi><mo separator="true">,</mo><mi>m</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\dlt_{n,m}</annotation></semantics></math></span> is the Kronecker delta. Obviously <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mn>2</mn></msub><mo>⊆</mo><msub><mi>c</mi><mn>00</mn></msub><mo>+</mo><mi mathvariant="double-struck">R</mi><mi>u</mi></mrow><annotation encoding="application/x-tex">S_2\subseteq c_{00}+\bR u</annotation></semantics></math></span> is compact because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>n</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></msub><msub><mi>a</mi><mi>n</mi></msub><mo>=</mo><msub><mi>a</mi><mi mathvariant="normal">∞</mi></msub></mrow><annotation encoding="application/x-tex">\lim_{n\to\infty}a_n=a_\infty</annotation></semantics></math></span>.</p>
<p>We now prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>2</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_2,0}=\B0</annotation></semantics></math></span>. Suppose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>y</mi><mn>2</mn></msub><mo>∈</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>2</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y_2\in\fc{\bar I}{S_2,0}</annotation></semantics></math></span>. Then, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi></mrow><annotation encoding="application/x-tex">n\in\bN</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>y</mi><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>±</mo><mn>1</mn><mo fence="true">∣</mo></mrow><mo>=</mo><mrow><mo fence="true">∣</mo><msub><mi>y</mi><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>±</mo><msub><mi>a</mi><mi>n</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>y</mi><mn>2</mn></msub><mo>±</mo><msub><mi>a</mi><mi>n</mi></msub><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mi>n</mi></msub><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1.</mn></mrow><annotation encoding="application/x-tex">\v{\fc{y_2}n\pm1}=\v{\fc{y_2}n\pm\fc{a_n}n}\le\V{y_2\pm a_n}\le\V{a_n}=1.</annotation></semantics></math></span> The two inequalities for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>±</mo></mrow><annotation encoding="application/x-tex">\pm</annotation></semantics></math></span> force <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>y</mi><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{y_2}n=0</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>y</mi><mn>2</mn></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y_2=0</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>2</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_2,0}=\B0</annotation></semantics></math></span>.</p>
<p>Pick any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>q</mi><mo>∈</mo><msub><mi>S</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">q\in S_1</annotation></semantics></math></span>. Construct <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>S</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>a</mi><mo>∈</mo><msub><mi>S</mi><mn>1</mn></msub><mo fence="true">}</mo></mrow><mo>∪</mo><mrow><mo fence="true">{</mo><mrow><mo fence="true">(</mo><mi>q</mi><mo separator="true">,</mo><mi>a</mi><mo fence="true">)</mo></mrow><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>a</mi><mo>∈</mo><msub><mi>S</mi><mn>2</mn></msub><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">S\ceq\set{\p{a,0}}{a\in S_1}\cup\set{\p{q,a}}{a\in S_2}.</annotation></semantics></math></span> Obviously <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is compact because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">S_1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">S_2</annotation></semantics></math></span> are compact. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><msub><mi>S</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}S_1</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}S</annotation></semantics></math></span>. The canonical projections onto <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi><mn>3</mn></msubsup></mrow><annotation encoding="application/x-tex">\ell_\infty^3</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mn>00</mn></msub><mo>+</mo><mi mathvariant="double-struck">R</mi><mi>u</mi></mrow><annotation encoding="application/x-tex">c_{00}+\bR u</annotation></semantics></math></span> of any element in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,0}</annotation></semantics></math></span> belong to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>1</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_1,0}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>2</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_2,0}</annotation></semantics></math></span>, respectively. Therefore, because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>1</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_1,0}=\B0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>S</mi><mn>2</mn></msub><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S_2,0}=\B0</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar I}{S,0}=\B0</annotation></semantics></math></span>. This proves that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="normal">ℓ</mi><mi mathvariant="normal">∞</mi><mn>3</mn></msubsup><msub><mo>⊕</mo><mi mathvariant="normal">∞</mi></msub><mrow><mo fence="true">(</mo><msub><mi>c</mi><mn>00</mn></msub><mo>+</mo><mi mathvariant="double-struck">R</mi><mi>u</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\ell_\infty^3\oplus_\infty\p{c_{00}+\bR u}</annotation></semantics></math></span> does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm c</annotation></semantics></math></span>.</p>
</details>
<p>We also have the strict hierarchy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup><mo>⇏</mo><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup><mo>⇏</mo><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm f\not\Rightarrow P_\subset^\mrm c\not\Rightarrow P_\subset^\mrm b</annotation></semantics></math></span>. Note that this implies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup><mo>⇏</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup><mo>⇏</mo><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\subset^\mrm f\not\Rightarrow\bar P_\subset^\mrm c\not\Rightarrow\bar P_\subset^\mrm b</annotation></semantics></math></span> because examples of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm f</annotation></semantics></math></span> must be strictly convex (by Theorem <span class="citation" data-cites="thm:not-strictly-convex-to-not-p2f"><a href="#thm:not-strictly-convex-to-not-p2f">1</a></span>) and thus has <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar P}S=\fc PS</annotation></semantics></math></span> (by Theorem <span class="citation" data-cites="thm:strictly-convex-to-equivalence"><a href="#thm:strictly-convex-to-equivalence">3</a></span>).</p>
<p>An example of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup><mo>∧</mo><mi mathvariant="normal">¬</mi><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm f\land\neg P_\subset^\mrm c</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>t</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\bfc\bR t</annotation></semantics></math></span> (real polynomials) equipped with the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>L</mi><mi>p</mi></msup><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">L^p\b{0,1}</annotation></semantics></math></span> norm with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo><mi mathvariant="normal">≔</mi></mo><msqrt><mn>5</mn></msqrt></mrow><annotation encoding="application/x-tex">p\ceq\sqrt5</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>t</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\bfc\bR t</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>L</mi><mi>p</mi></msup><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">L^p\b{0,1}</annotation></semantics></math></span> norm satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm f</annotation></semantics></math></span>
</summary>
<p>The following argument works for any irrational <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>1</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>∖</mo><mi mathvariant="double-struck">Q</mi></mrow><annotation encoding="application/x-tex">p\in\left[1,+\infty\right)\setminus\bQ</annotation></semantics></math></span>. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>t</mi><mo fence="true">]</mo></mrow><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">a\in\bfc\bR t\setminus\B0</annotation></semantics></math></span>, differentiation under the integral gives the unique subgradient <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc ja\in\fc Ja</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><msubsup><mo>∫</mo><mn>0</mn><mn>1</mn></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><msup><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>v</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{\fc ja}v=\fr1{\V a^{p-1}}\int_0^1\d t\v{\fc at}^{p-2}\fc at\fc vt.</annotation></semantics></math></span></p>
<details>
<summary>
Why it is the unique subgradient
</summary>
<p>Suppose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>t</mi><mo fence="true">]</mo></mrow><mo>∖</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">a\in\bfc\bR t\setminus\B0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f\in\fc Ja</annotation></semantics></math></span>. Suppose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mn>1</mn></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><mtext> </mtext><mover accent="true"><mi>f</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>v</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc fv=\int_0^1\d t\,\fc{\tilde f}t\fc vt,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>f</mi><mo>~</mo></mover><mo>∈</mo><msup><mi>L</mi><mrow><mi>p</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow></msup><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\tilde f\in L^{p/\p{p-1}}\b{0,1}</annotation></semantics></math></span>. Any continuous functional on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>L</mi><mi>p</mi></msup><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">L^p\b{0,1}</annotation></semantics></math></span> (the completion of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>t</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\bfc\bR t</annotation></semantics></math></span> with the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>L</mi><mi>p</mi></msup><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">L^p\b{0,1}</annotation></semantics></math></span> norm) is of this form, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mover accent="true"><mi>f</mi><mo>~</mo></mover><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V f=\V{\tilde f}</annotation></semantics></math></span>. By Definition <span class="citation" data-cites="thm:subdifferential"><a href="#thm:subdifferential">6</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>f</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V f\le1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fa=\V a</annotation></semantics></math></span>.</p>
<p>By <a href="https://en.wikipedia.org/wiki/H%C3%B6lder%27s_inequality" target="_blank" rel="external">Hölder’s inequality</a>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mover accent="true"><mi>f</mi><mo>~</mo></mover><mo fence="true">∥</mo></mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc fa\le\V{\tilde f}\V a\le\V a.</annotation></semantics></math></span> On the other hand, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fa=\V a</annotation></semantics></math></span>, so the inequalities are saturated. Hölder’s inequality is saturated iff <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">∣</mo><mover accent="true"><mi>f</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow></msup></mrow><annotation encoding="application/x-tex">\v{\fc{\tilde f}t}^{p/\p{p-1}}</annotation></semantics></math></span> is a scalar multiple of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mi>p</mi></msup></mrow><annotation encoding="application/x-tex">\v{\fc at}^p</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mover accent="true"><mi>f</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sgn\fc{\tilde f}t=\sgn\fc at</annotation></semantics></math></span> (almost everywhere). The normalization <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mover accent="true"><mi>f</mi><mo>~</mo></mover><mo fence="true">∥</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\V{\tilde f}=1</annotation></semantics></math></span> determines the normalization. In the end, we find that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>f</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\fc{\tilde f}t=\v{\fc at}^{p-2}\fc at/\V a^{p-1}</annotation></semantics></math></span>.</p>
</details>
<p>Now pick any finite <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi mathvariant="double-struck">R</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>t</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">S\subseteq\bfc\bR t</annotation></semantics></math></span>. We first show that the functionals <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc jS</annotation></semantics></math></span> are linearly independent whenever the polynomials in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> are pairwise nonproportional (implying that none of them is zero). This is equivalent to showing that the functions <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\v{\fc at}^{p-2}\fc at</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span> are linearly independent.</p>
<p>Denote <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>R</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>z</mi><mo>∈</mo><mi mathvariant="double-struck">C</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><msub><mo>∏</mo><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></msub><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">R\ceq\set{z\in\bC}{\prod_{a\in S}\fc az=0}</annotation></semantics></math></span> (the set of all complex roots of the polynomials). Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is finite and each polynomial has finitely many roots, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>R</mi></mrow><annotation encoding="application/x-tex">R</annotation></semantics></math></span> is finite. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>∖</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">\p{0,1}\setminus R</annotation></semantics></math></span> is nonempty and open, and we can find an open interval <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>−</mo><mi>δ</mi><mo separator="true">,</mo><msub><mi>t</mi><mn>0</mn></msub><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow><mo>∖</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">\p{t_0-\dlt,t_0+\dlt}\subseteq\b{0,1}\setminus R</annotation></semantics></math></span>. For each <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>a</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>a</mi><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">q_a\ceq a\sgn\fc a{t_0}</annotation></semantics></math></span>, which is a polynomial that is positive on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>−</mo><mi>δ</mi><mo separator="true">,</mo><msub><mi>t</mi><mn>0</mn></msub><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{t_0-\dlt,t_0+\dlt}</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">∣</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mi>a</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow><msub><mi>q</mi><mi>a</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\v{\fc at}^{p-2}\fc at=\sgn\fc a{t_0}\fc{q_a}t^{p-1}</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>−</mo><mi>δ</mi><mo separator="true">,</mo><msub><mi>t</mi><mn>0</mn></msub><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{t_0-\dlt,t_0+\dlt}</annotation></semantics></math></span>. Therefore, the linear independence of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc jS</annotation></semantics></math></span> is equivalent to the linear independence of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>a</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\fc{q_a}t^{p-1}</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>−</mo><mn>1</mn><mo mathvariant="normal">∉</mo><mi mathvariant="double-struck">Q</mi></mrow><annotation encoding="application/x-tex">p-1\notin\bQ</annotation></semantics></math></span>, when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>a</mi></msub></mrow><annotation encoding="application/x-tex">q_a</annotation></semantics></math></span> are pairwise nonproportional, they are indeed linearly independent.</p>
<details>
<summary>
Why irrational powers of nonproportional polynomials are linearly independent
</summary>
<p>When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>R</mi><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">R=\varnothing</annotation></semantics></math></span>, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> must be a singleton, and the claim is trivial. We assume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>R</mi><mo mathvariant="normal">≠</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">R\ne\varnothing</annotation></semantics></math></span> from here.</p>
<p>For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">z\in R</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mrow><mi>a</mi><mi>z</mi></mrow></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mi mathvariant="normal">ord</mi><mo>⁡</mo></mrow><mi>z</mi></msub><mi>a</mi></mrow><annotation encoding="application/x-tex">m_{az}\ceq\opn{ord}_z a</annotation></semantics></math></span> (the multiplicity of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> as a root of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span>, which is also the multiplicity of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> as a root of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>a</mi></msub></mrow><annotation encoding="application/x-tex">q_a</annotation></semantics></math></span>). Two nonproportional polynomials have different multiplicity vectors. For each <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">z\in R</annotation></semantics></math></span>, choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>n</mi><mi>z</mi></msub><mo>∈</mo><mi mathvariant="double-struck">Z</mi></mrow><annotation encoding="application/x-tex">n_z\in\bZ</annotation></semantics></math></span> such that the integers <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>N</mi><mi>a</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∑</mo><mrow><mi>z</mi><mo>∈</mo><mi>R</mi></mrow></munder><msub><mi>m</mi><mrow><mi>a</mi><mi>z</mi></mrow></msub><msub><mi>n</mi><mi>z</mi></msub></mrow><annotation encoding="application/x-tex">N_a\ceq\sum_{z\in R}m_{az}n_z</annotation></semantics></math></span> are distinct from each other for different <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span>. Such a choice always exists: a simple construction is to choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>n</mi><mi>z</mi></msub></mrow><annotation encoding="application/x-tex">n_z</annotation></semantics></math></span> as powers of an integer <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>b</mi><mo>&gt;</mo><msub><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></msub><msub><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>z</mi><mo>∈</mo><mi>R</mi></mrow></msub><msub><mi>m</mi><mrow><mi>a</mi><mi>z</mi></mrow></msub></mrow><annotation encoding="application/x-tex">b&gt;\max_{a\in S}\max_{z\in R}m_{az}</annotation></semantics></math></span>, and then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>N</mi><mi>a</mi></msub></mrow><annotation encoding="application/x-tex">N_a</annotation></semantics></math></span> would be the base-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math></span> encoding of the multiplicities of roots of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span>, which is distinct for different <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span> because they are nonproportional.</p>
<p>Now consider the linear combination <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>0</mn><mo>=</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><msub><mi>q</mi><mi>a</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">0=\sum_{a\in S}\lmd_a\fc{q_a}t^{p-1}.</annotation></semantics></math></span> Consider a contour starting from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>0</mn></msub><mo>−</mo><mi>δ</mi><mo separator="true">,</mo><msub><mi>t</mi><mn>0</mn></msub><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">t\in\p{t_0-\dlt,t_0+\dlt}</annotation></semantics></math></span> and going around each <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>∈</mo><mi>R</mi></mrow><annotation encoding="application/x-tex">z\in R</annotation></semantics></math></span> by exactly <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><msub><mi>n</mi><mi>z</mi></msub></mrow><annotation encoding="application/x-tex">rn_z</annotation></semantics></math></span> counterclockwise turns, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>∈</mo><mi mathvariant="double-struck">Z</mi></mrow><annotation encoding="application/x-tex">r\in\bZ</annotation></semantics></math></span>, and returning back to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span>. Analytically continuing <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>a</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\fc{q_a}t^{p-1}</annotation></semantics></math></span> along this contour, we get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>0</mn><mo>=</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><msubsup><mi>α</mi><mi>a</mi><mi>r</mi></msubsup><msub><mi>q</mi><mi>a</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">0=\sum_{a\in S}\lmd_a\alp_a^r\fc{q_a}t^{p-1},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>α</mi><mi>a</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msup><mi mathvariant="normal">e</mi><mrow><mn>2</mn><mi>π</mi><mi mathvariant="normal">i</mi><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><msub><mi>N</mi><mi>a</mi></msub></mrow></msup></mrow><annotation encoding="application/x-tex">\alp_a\ceq\e^{2\pi\i\p{p-1}N_a}</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>−</mo><mn>1</mn><mo mathvariant="normal">∉</mo><mi mathvariant="double-struck">Q</mi></mrow><annotation encoding="application/x-tex">p-1\notin\bQ</annotation></semantics></math></span> and all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>N</mi><mi>a</mi></msub></mrow><annotation encoding="application/x-tex">N_a</annotation></semantics></math></span> are distinct, all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>α</mi><mi>a</mi></msub></mrow><annotation encoding="application/x-tex">\alp_a</annotation></semantics></math></span> are distinct. Therefore, the <a href="https://en.wikipedia.org/wiki/Vandermonde_matrix" target="_blank" rel="external">Vandermonde matrix</a> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">{</mo><msubsup><mi>α</mi><mi>a</mi><mi>r</mi></msubsup><mo fence="true">}</mo></mrow><mrow><mi>a</mi><mo>∈</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo>≤</mo><mi>r</mi><mo>&lt;</mo><mrow><mo fence="true">∣</mo><mi>S</mi><mo fence="true">∣</mo></mrow></mrow></msub></mrow><annotation encoding="application/x-tex">\B{\alp_a^r}_{a\in S,0\le r&lt;\v S}</annotation></semantics></math></span> is invertible. Since <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>a</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{q_a}t\ne0</annotation></semantics></math></span>, we are forced to have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_a=0</annotation></semantics></math></span>.</p>
</details>
<p>Now let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>∖</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\in\fc PS\setminus S</annotation></semantics></math></span>. We claim <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">0\in\opn{conv}\fc j{S-x}</annotation></semantics></math></span>. Otherwise, applying the Hahn–Banach separation theorem to the weak*-compact convex hull gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">v\in X</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\fc j{a-x}}v&lt;0</annotation></semantics></math></span> for every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span>. Then we get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>−</mo><mi>t</mi><mi>v</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x-tv\in\fc I{S,x}</annotation></semantics></math></span> for sufficiently small <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t&gt;0</annotation></semantics></math></span>, contradicting with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x\in\fc PS</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">0\in\opn{conv}\fc j{S-x}</annotation></semantics></math></span>
</summary>
<p>
Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">0\notin\opn{conv}\fc j{S-x}</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\opn{conv}\fc j{S-x}</annotation></semantics></math></span> is a weak*-compact and convex, by the <a href="https://en.wikipedia.org/wiki/Hahn%E2%80%93Banach_theorem#Geometric_Hahn%E2%80%93Banach_(the_Hahn%E2%80%93Banach_separation_theorems)" target="_blank" rel="external">Hahn–Banach separation theorem</a>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">v\in X</annotation></semantics></math></span> (the set of weak*-continuous linear functionals on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>X</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">X^*</annotation></semantics></math></span>) such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\forall a\in S:\fc{\fc j{a-x}}v&lt;0.</annotation></semantics></math></span> By the uniqueness of subgradients we established before, we know <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\fc J{a-x}=\B{\fc j{a-x}}</annotation></semantics></math></span>. By Theorem <span class="citation" data-cites="thm:subdifferential-directional-derivative"><a href="#thm:subdifferential-directional-derivative">9</a></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>v</mi></msub><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>=</mo><munder><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>f</mi><mo>∈</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\partial_v\V{a-x}=\max_{f\in\fc J{a-x}}\fc fv=\fc{\fc j{a-x}}v&lt;0.</annotation></semantics></math></span> There then exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>δ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\dlt_a&gt;0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>t</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><msub><mi>δ</mi><mi>a</mi></msub><mo fence="true">)</mo></mrow><mo>:</mo><mfrac><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><mi>t</mi></mfrac><mo>&lt;</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">∣</mo><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\forall t\in\p{0,\dlt_a}:\fr{\V{a-x+tv}-\V{a-x}}t&lt;\fc{\fc j{a-x}}v+\v{\fc{\fc j{a-x}}v}=0.</annotation></semantics></math></span> Pick <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mi>min</mi><mo>⁡</mo></mrow><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></msub><msub><mi>δ</mi><mi>a</mi></msub><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">t\ceq\min_{a\in S}\dlt_a/2</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo>+</mo><mi>t</mi><mi>v</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{a-x+tv}&lt;\V{a-x}</annotation></semantics></math></span> for every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>−</mo><mi>t</mi><mi>v</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x-tv\in\fc I{S,x}</annotation></semantics></math></span>, contradicting with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x\in\fc PS</annotation></semantics></math></span>.
</p>
</details>
<p>Thus there are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_a\ge0</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>a</mi></msub><msub><mi>λ</mi><mi>a</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sum_a\lmd_a=1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>a</mi></msub><msub><mi>λ</mi><mi>a</mi></msub><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_a\lmd_a\fc j{a-x}=0</annotation></semantics></math></span>. Therefore <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc j{S-x}</annotation></semantics></math></span> is linearly dependent, so some of the polynomials in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">S-x</annotation></semantics></math></span> are proportional. Consider the equivalence classes of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> under the relation that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">a-x</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">a&#x27;-x</annotation></semantics></math></span> are proportional, and denote the equivalence class of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span> by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">[</mo><mi>a</mi><mo fence="true">]</mo></mrow><annotation encoding="application/x-tex">\b a</annotation></semantics></math></span>. We necessarily have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><mrow><mo fence="true">[</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">]</mo></mrow></mrow></msub><msub><mi>λ</mi><mi>a</mi></msub><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_{a\in\b{a&#x27;}}\lmd_a\fc j{a-x}=0</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a&#x27;\in S</annotation></semantics></math></span>.</p>
<p>There must exist <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">a\in S</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_a&gt;0</annotation></semantics></math></span>. To balance it, there also must exist <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mrow><mo fence="true">[</mo><mi>a</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">a&#x27;\in\b a</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd_{a&#x27;}&gt;0</annotation></semantics></math></span> and that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc j{a-x}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc j{a&#x27;-x}</annotation></semantics></math></span> are oppositely directed. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">a-x</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">a&#x27;-x</annotation></semantics></math></span> are parallel and because of Equation <a href="#eq:subdifferential-scaling">3</a>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">a-x</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">a&#x27;-x</annotation></semantics></math></span> must be oppositely directed as well. This means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mrow><mo fence="true">{</mo><mi>a</mi><mo separator="true">,</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">}</mo></mrow><mo>⊆</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\in\opn{conv}\B{a,a&#x27;}\subseteq\opn{conv}S</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi mathvariant="normal">conv</mi><mo>⁡</mo><mi>S</mi><mo>=</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">\fc PS\subseteq\opn{conv}S=\opn{\overline{conv}}S</annotation></semantics></math></span>.</p>
</details>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>t</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\bfc\bR t</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>L</mi><mi>p</mi></msup><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">L^p\b{0,1}</annotation></semantics></math></span> norm does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm c</annotation></semantics></math></span>
</summary>
<p>First, we claim that there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\veps\in\p{0,+\infty}</annotation></semantics></math></span> such that there exists a unique <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">c\in\p{0,+\infty}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mrow><mo fence="true">(</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\fc g\tht-c}^{p-2}\p{\fc g\tht-c}=0,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo>+</mo><mi>ε</mi><mi>cos</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi></mrow><annotation encoding="application/x-tex">\fc g\tht\ceq\cos\tht+\veps\cos2\tht</annotation></semantics></math></span>.</p>
<details>
<summary>
Why the claim is true
</summary>
<p>This argument works for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>2</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">p\in\p{2,+\infty}</annotation></semantics></math></span>.</p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mi>c</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mrow><mo fence="true">(</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{\tilde g}{\veps,c}\ceq\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\fc g\tht-c}^{p-2}\p{\fc g\tht-c}.</annotation></semantics></math></span> First we evaluate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\tilde g}{0,0}=0</annotation></semantics></math></span>.</p>
<details>
<summary>
Calculation
</summary>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>cos</mi><mo>⁡</mo><mi>θ</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mi>π</mi></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo>+</mo><msubsup><mo>∫</mo><mn>0</mn><mi>π</mi></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>π</mi><mo>+</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>π</mi><mo>+</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mi>π</mi></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo>−</mo><msubsup><mo>∫</mo><mn>0</mn><mi>π</mi></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>cos</mi><mo>⁡</mo><mi>θ</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{\tilde g}{0,0}
&amp;=\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}\cos\tht\\
&amp;=\int_0^\pi\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}\cos\tht+\int_0^\pi\fr{\d\tht}{2\pi}\v{\fc\cos{\pi+\tht}}^{p-2}\fc\cos{\pi+\tht}\\
&amp;=\int_0^\pi\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}\cos\tht-\int_0^\pi\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}\cos\tht\\
&amp;=0.
\end{align*}</annotation></semantics></math></span>
</details>
<p class="no-indent">
Then, we find <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>k</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mfrac><mrow><mi mathvariant="normal">d</mi><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><mrow><mi mathvariant="normal">d</mi><mi>ε</mi></mrow></mfrac><mo fence="true">∣</mo></mrow><mrow><mi>ε</mi><mo>=</mo><mn>0</mn></mrow></msub><mo>=</mo><mfrac><mrow><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>2</mn><mo fence="true">)</mo></mrow></mrow><mi>p</mi></mfrac><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mo>&gt;</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">k\ceq\abar{\fr{\d\fc{\tilde g}{\veps,0}}{\d\veps}}{\veps=0}
=\fr{\p{p-1}\p{p-2}}p\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}&gt;0.</annotation></semantics></math></span>
</p>
<details>
<summary>
Calculation
</summary>
<p>By the <a href="https://en.wikipedia.org/wiki/Leibniz_integral_rule" target="_blank" rel="external">Leibniz integral rule</a>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mi mathvariant="normal">d</mi><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><mrow><mi mathvariant="normal">d</mi><mi>ε</mi></mrow></mfrac><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>ε</mi></mrow></mfrac><mrow><mo fence="true">(</mo><msup><mrow><mo fence="true">∣</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr{\d\fc{\tilde g}{\veps,0}}{\d\veps}
=\int_0^{2\pi}\fr{\d\tht}{2\pi}\fr{\partial}{\partial\veps}\p{\v{\fc g\tht}^{p-1}\sgn\fc g\tht}.</annotation></semantics></math></span> Notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∂</mi><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mi mathvariant="normal">∂</mi><mi>ε</mi><mo>=</mo><mn>2</mn><msup><mrow><mi>cos</mi><mo>⁡</mo></mrow><mn>2</mn></msup><mi>θ</mi><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\partial\fc g\tht/\partial\veps=2\cos^2\tht-1</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mi mathvariant="normal">d</mi><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><mrow><mi mathvariant="normal">d</mi><mi>ε</mi></mrow></mfrac><mo>=</mo><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mrow><mo fence="true">(</mo><mn>2</mn><msup><mrow><mi>cos</mi><mo>⁡</mo></mrow><mn>2</mn></msup><mi>θ</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr{\d\fc{\tilde g}{\veps,0}}{\d\veps}
=\p{p-1}\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\fc g\tht}^{p-2}\p{2\cos^2\tht-1}.</annotation></semantics></math></span> When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\veps=0</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\fc g\tht=\cos\tht</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mrow><mfrac><mrow><mi mathvariant="normal">d</mi><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><mrow><mi mathvariant="normal">d</mi><mi>ε</mi></mrow></mfrac><mo fence="true">∣</mo></mrow><mrow><mi>ε</mi><mo>=</mo><mn>0</mn></mrow></msub><mo>=</mo><mn>2</mn><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mi>p</mi></msup><mo>−</mo><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\abar{\fr{\d\fc{\tilde g}{\veps,0}}{\d\veps}}{\veps=0}
=2\p{p-1}\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^p-\p{p-1}\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}.</annotation></semantics></math></span></p>
<p>Integrating by parts, we get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mi>p</mi></msup></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>sin</mi><mo>⁡</mo><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mrow><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mi>p</mi></msup><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mo>−</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><mtext> </mtext><mi mathvariant="normal">d</mi><mrow><mo fence="true">(</mo><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi>sin</mi><mo>⁡</mo><mi>θ</mi><mtext> </mtext><mi mathvariant="normal">d</mi><mi>θ</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mo>−</mo><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mi>p</mi></msup><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^p
&amp;=\int_0^{2\pi}\fr{\d\sin\tht}{2\pi}\v{\cos\tht}^{p-1}\sgn\cos\tht\\
&amp;=\abar{\fr{\sin\tht}{2\pi}\v{\cos\tht}^p\sgn\cos\tht}0^{2\pi}
-\int_0^{2\pi}\fr{\sin\tht}{2\pi}\,\d\p{\v{\cos\tht}^{p-1}\sgn\cos\tht}\\
&amp;=\int_0^{2\pi}\fr{\sin\tht}{2\pi}\p{p-1}\v{\cos\tht}^{p-2}\sin\tht\,\d\tht\\
&amp;=\p{p-1}\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}
-\p{p-1}\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^p.
\end{align*}</annotation></semantics></math></span> Arranging the terms gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mi>p</mi></msup><mo>=</mo><mfrac><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow><mi>p</mi></mfrac><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^p=\fr{p-1}p\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}.</annotation></semantics></math></span></p>
<p>Plugging this into the previous expression gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mrow><mfrac><mrow><mi mathvariant="normal">d</mi><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><mrow><mi mathvariant="normal">d</mi><mi>ε</mi></mrow></mfrac><mo fence="true">∣</mo></mrow><mrow><mi>ε</mi><mo>=</mo><mn>0</mn></mrow></msub><mo>=</mo><mrow><mo fence="true">(</mo><mn>2</mn><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mfrac><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow><mi>p</mi></mfrac><mo>−</mo><mrow><mo fence="true">(</mo><mi>p</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>2</mn></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\abar{\fr{\d\fc{\tilde g}{\veps,0}}{\d\veps}}{\veps=0}
=\p{2\p{p-1}\fr{p-1}p-\p{p-1}}\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\cos\tht}^{p-2}.</annotation></semantics></math></span></p>
</details>
<p class="no-indent">
Therefore, there exists some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\veps\in\p{0,+\infty}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><mi>ε</mi></mfrac><mo>&gt;</mo><mi>k</mi><mo>−</mo><mfrac><mi>k</mi><mn>2</mn></mfrac><mo>&gt;</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\fr{\fc{\tilde g}{\veps,0}}\veps&gt;k-\fr k2&gt;0.</annotation></semantics></math></span>
</p>
<p>On the other hand, the integrand of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mi>c</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\tilde g}{\veps,c}</annotation></semantics></math></span> is strictly decreasing in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math></span> and tends to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">-\infty</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mo>→</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">c\to+\infty</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mi>c</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\tilde g}{\veps,c}</annotation></semantics></math></span> tends to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">-\infty</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mo>→</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">c\to+\infty</annotation></semantics></math></span>. By the intermediate value theorem, there exists a unique <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi><mo>∈</mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">c\in\p{0,+\infty}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>g</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ε</mi><mo separator="true">,</mo><mi>c</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\tilde g}{\veps,c}=0</annotation></semantics></math></span>.</p>
</details>
<p>For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mi>π</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\tht\in\b{0,2\pi}</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>a</mi><mi>θ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mo fence="true">(</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo>−</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{a_\tht}t\ceq\p{1+t^2}^2\p{\fc g{2\arctan t-\tht}-c}.</annotation></semantics></math></span> It is a polynomial in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span> of degree at most <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>4</mn></mrow><annotation encoding="application/x-tex">4</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>θ</mi></msub><mo>∈</mo><mi mathvariant="double-struck">R</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>t</mi><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">a_\tht\in\bfc\bR t</annotation></semantics></math></span>.</p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>θ</mi></msub><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>θ</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mi>π</mi><mo fence="true">]</mo></mrow><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">S\ceq\set{a_\tht}{\tht\in\b{0,2\pi}}</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>↦</mo><msub><mi>a</mi><mi>θ</mi></msub></mrow><annotation encoding="application/x-tex">a\mapsto a_\tht</annotation></semantics></math></span> is continuous, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is compact. On the subspace of polynomials of degree at most <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>4</mn></mrow><annotation encoding="application/x-tex">4</annotation></semantics></math></span>, define a continuous linear functional <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo>↦</mo><msubsup><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mn>4</mn></msubsup><msub><mi>b</mi><mi>j</mi></msub><msup><mi>t</mi><mi>j</mi></msup><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mn>3</mn><msub><mi>b</mi><mn>0</mn></msub><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><mo>+</mo><mn>3</mn><msub><mi>b</mi><mn>4</mn></msub></mrow><annotation encoding="application/x-tex">\fc f{t\mapsto\sum_{j=0}^4b_jt^j}\ceq3b_0+b_2+3b_4</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>θ</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><mn>8</mn><mi>c</mi><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc f{a_\tht}=-8c&lt;0</annotation></semantics></math></span> for every <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span>. Since the subspace is closed, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">0\notin\opn{\overline{conv}}S</annotation></semantics></math></span>.</p>
<details>
<summary>
Calculation
</summary>
<p>By the <a href="https://en.wikipedia.org/wiki/Tangent_half-angle_formula" target="_blank" rel="external">tangent half-angle formulas</a> and the double angle formulas, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mn>1</mn><mo>−</mo><msup><mi>t</mi><mn>2</mn></msup></mrow><mrow><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup></mrow></mfrac><mo separator="true">,</mo><mspace width="2em"/><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mn>2</mn><mi>t</mi></mrow><mrow><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc\cos{2\arctan t}=\fr{1-t^2}{1+t^2},\qquad
\fc\sin{2\arctan t}=\fr{2t}{1+t^2},</annotation></semantics></math></span> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>4</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>2</mn><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>−</mo><mn>1</mn><mo>=</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mn>6</mn><msup><mi>t</mi><mn>2</mn></msup><mo>+</mo><msup><mi>t</mi><mn>4</mn></msup></mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>4</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>2</mn><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mn>4</mn><mi>t</mi><mo>−</mo><mn>4</mn><msup><mi>t</mi><mn>3</mn></msup></mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc\cos{4\arctan t}&amp;=2\fc\cos{2\arctan t}^2-1=\fr{1-6t^2+t^4}{\p{1+t^2}^2},\\
\fc\sin{4\arctan t}&amp;=2\fc\cos{2\arctan t}\fc\sin{2\arctan t}=\fr{4t-4t^3}{\p{1+t^2}^2},
\end{align*}</annotation></semantics></math></span> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo>−</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo>+</mo><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mrow><mn>1</mn><mo>−</mo><msup><mi>t</mi><mn>2</mn></msup></mrow><mrow><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup></mrow></mfrac><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo>+</mo><mfrac><mrow><mn>2</mn><mi>t</mi></mrow><mrow><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup></mrow></mfrac><mi>sin</mi><mo>⁡</mo><mi>θ</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>4</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo>−</mo><mn>2</mn><mi>θ</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>4</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>cos</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi><mo>+</mo><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>4</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi>sin</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mrow><mn>1</mn><mo>−</mo><mn>6</mn><msup><mi>t</mi><mn>2</mn></msup><mo>+</mo><msup><mi>t</mi><mn>4</mn></msup></mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mi>cos</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi><mo>+</mo><mfrac><mrow><mn>4</mn><mi>t</mi><mo>−</mo><mn>4</mn><msup><mi>t</mi><mn>3</mn></msup></mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mi>sin</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc\cos{2\arctan t-\tht}&amp;=\fc\cos{2\arctan t}\cos\tht+\fc\sin{2\arctan t}\sin\tht\\
&amp;=\fr{1-t^2}{1+t^2}\cos\tht+\fr{2t}{1+t^2}\sin\tht,\\
\fc\cos{4\arctan t-2\tht}&amp;=\fc\cos{4\arctan t}\cos2\tht+\fc\sin{4\arctan t}\sin2\tht\\
&amp;=\fr{1-6t^2+t^4}{\p{1+t^2}^2}\cos2\tht+\fr{4t-4t^3}{\p{1+t^2}^2}\sin2\tht.
\end{align*}</annotation></semantics></math></span> Substitute everything into the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>θ</mi></msub></mrow><annotation encoding="application/x-tex">a_\tht</annotation></semantics></math></span> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>a</mi><mi>θ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo>+</mo><mrow><mo fence="true">(</mo><mn>2</mn><mi>t</mi><mo>+</mo><mn>2</mn><msup><mi>t</mi><mn>3</mn></msup><mo fence="true">)</mo></mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mphantom><mo>=</mo><mrow></mrow></mphantom><mrow></mrow><mo>+</mo><mi>ε</mi><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mn>6</mn><msup><mi>t</mi><mn>2</mn></msup><mo>+</mo><msup><mi>t</mi><mn>4</mn></msup><mo fence="true">)</mo></mrow><mi>cos</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi><mo>+</mo><mrow><mo fence="true">(</mo><mn>4</mn><mi>t</mi><mo>−</mo><mn>4</mn><msup><mi>t</mi><mn>3</mn></msup><mo fence="true">)</mo></mrow><mi>sin</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{a_\tht}t&amp;=\p{1+t^2}\p{\p{1-t^2}\cos\tht+\p{2t+2t^3}\sin\tht}\\
&amp;\phantom{={}}{}+\veps\p{\p{1-6t^2+t^4}\cos2\tht+\p{4t-4t^3}\sin2\tht}-c\p{1+t^2}^2.
\end{align*}</annotation></semantics></math></span> One may get the coefficients <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msub><mi>b</mi><mn>0</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>−</mo><mi>c</mi><mo>+</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo>+</mo><mi>ε</mi><mi>cos</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msub><mi>b</mi><mn>2</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>−</mo><mn>2</mn><mi>c</mi><mo>−</mo><mn>6</mn><mi>ε</mi><mi>cos</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msub><mi>b</mi><mn>4</mn></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>−</mo><mi>c</mi><mo>−</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mo>+</mo><mi>ε</mi><mi>cos</mi><mo>⁡</mo><mn>2</mn><mi>θ</mi><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
b_0&amp;=-c+\cos\tht+\veps\cos2\tht,\\
b_2&amp;=-2c-6\veps\cos2\tht,\\
b_4&amp;=-c-\cos\tht+\veps\cos2\tht.
\end{align*}</annotation></semantics></math></span></p>
<p>Alternatively, just use Wolfram!</p>
<pre><code><span class="p">(</span><span class="m">1</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">t</span><span class="o">^</span><span class="m">2</span><span class="p">)</span><span class="o">^</span><span class="m">2</span><span class="w"> </span><span class="p">((</span><span class="nb">Cos</span><span class="p">[</span><span class="nf">#</span><span class="p">]</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">\[Epsilon]</span><span class="w"> </span><span class="nb">Cos</span><span class="p">[</span><span class="m">2</span><span class="w"> </span><span class="nf">#</span><span class="p">])</span><span class="w"> </span><span class="o">&amp;</span><span class="p">[</span><span class="m">2</span><span class="w"> </span><span class="nb">ArcTan</span><span class="p">[</span><span class="nv">t</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nv">\[Theta]</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nv">c</span><span class="p">)</span><span class="w"> </span><span class="o">//</span><span class="w">
	</span><span class="nb">TrigExpand</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="nb">CoefficientList</span><span class="p">[</span><span class="nf">#</span><span class="o">,</span><span class="w"> </span><span class="nv">t</span><span class="p">]</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="nb">TrigReduce</span><span class="w"> </span><span class="o">//</span><span class="w"> </span><span class="nb">MatrixForm</span><span class="w">
</span></code></pre>
</details>
<p>Suppose for contradiction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">y\in\fc I{S,0}</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>θ</mi><mo>∈</mo><mrow><mo fence="true">[</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mi>π</mi><mo fence="true">]</mo></mrow><mo>:</mo><mrow><mo fence="true">∥</mo><msub><mi>a</mi><mi>θ</mi></msub><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><msub><mi>a</mi><mi>θ</mi></msub><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall\tht\in\b{0,2\pi}:\V{a_\tht}&lt;\V{y-a_\tht}</annotation></semantics></math></span>. Take the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math></span>th power of both sides and integrate over <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span> to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>&lt;</mo><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc F0&lt;\fc Fy</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∥</mo><mi>y</mi><mo>−</mo><msub><mi>a</mi><mi>θ</mi></msub><mo fence="true">∥</mo></mrow><mi>p</mi></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc Fy\ceq\int_0^{2\pi}\fr{\d\tht}{2\pi}\V{y-a_\tht}^p.</annotation></semantics></math></span></p>
<p>After some calculation, one can show that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mn>1</mn></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mrow><mn>2</mn><mi>p</mi></mrow></msup><mi>G</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc Fy=\int_0^1\d t\p{1+t^2}^{2p}\fc G{\fr{\fc yt}{\p{1+t^2}^2}},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>s</mi><mo>−</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>c</mi><mo fence="true">∣</mo></mrow><mi>p</mi></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc Gs\ceq\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{s-\fc g\tht+c}^p.</annotation></semantics></math></span> The function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span> is convex and continuously differentiable, and the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math></span> gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{G&#x27;}0=0</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span> has its minimum at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>. This gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Fy\ge\fc F0</annotation></semantics></math></span>, contradicting with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>&lt;</mo><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc F0&lt;\fc Fy</annotation></semantics></math></span>.</p>
<details>
<summary>
Calculation
</summary>
<p>Expand the definition of the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math></span>-norm to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msubsup><mo>∫</mo><mn>0</mn><mn>1</mn></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><msup><mrow><mo fence="true">∣</mo><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>−</mo><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mo fence="true">(</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo>−</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mi>p</mi></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc Fy=\int_0^{2\pi}\fr{\d\tht}{2\pi}\int_0^1\d t\v{\fc yt-\p{1+t^2}^2\p{\fc g{2\arctan t-\tht}-c}}^p.</annotation></semantics></math></span> Exchange the order of integration to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mn>1</mn></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mrow><mn>2</mn><mi>p</mi></mrow></msup><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mfrac><mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mo>−</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo>−</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>c</mi><mo fence="true">∣</mo></mrow><mi>p</mi></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc Fy=\int_0^1\d t\p{1+t^2}^{2p}\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\fr{\fc yt}{\p{1+t^2}^2}-\fc g{2\arctan t-\tht}+c}^p.</annotation></semantics></math></span> Notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span> is an even function and has period <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>π</mi></mrow><annotation encoding="application/x-tex">2\pi</annotation></semantics></math></span>, so we can change <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>arctan</mi><mo>⁡</mo><mi>t</mi><mo>−</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">2\arctan t-\tht</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span> in the integrand. This gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mn>1</mn></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mrow><mn>2</mn><mi>p</mi></mrow></msup><mi>G</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc Fy=\int_0^1\d t\p{1+t^2}^{2p}\fc G{\fr{\fc yt}{\p{1+t^2}^2}}.</annotation></semantics></math></span></p>
<p>In <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Gs</annotation></semantics></math></span>, take the derivative using the Leibniz integral rule to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>G</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>s</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>s</mi><mo>−</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>c</mi><mo fence="true">∣</mo></mrow><mi>p</mi></msup></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><mi>p</mi><msup><mrow><mo fence="true">∣</mo><mi>s</mi><mo>−</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>c</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo>−</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>c</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{G&#x27;}s&amp;=\int_0^{2\pi}\fr{\d\tht}{2\pi}\fr{\partial}{\partial s}\v{s-\fc g\tht+c}^p\\
&amp;=\int_0^{2\pi}\fr{\d\tht}{2\pi}p\v{s-\fc g\tht+c}^{p-1}\fc\sgn{s-\fc g\tht+c}.
\end{align*}</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>G</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><mi>p</mi><msubsup><mo>∫</mo><mn>0</mn><mrow><mn>2</mn><mi>π</mi></mrow></msubsup><mfrac><mrow><mi mathvariant="normal">d</mi><mi>θ</mi></mrow><mrow><mn>2</mn><mi>π</mi></mrow></mfrac><msup><mrow><mo fence="true">∣</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><mo fence="true">∣</mo></mrow><mrow><mi>p</mi><mo>−</mo><mn>1</mn></mrow></msup><mi mathvariant="normal">sgn</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>c</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{G&#x27;}0=-p\int_0^{2\pi}\fr{\d\tht}{2\pi}\v{\fc g\tht-c}^{p-1}\fc\sgn{\fc g\tht-c}.</annotation></semantics></math></span> By the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{G&#x27;}0=0</annotation></semantics></math></span>.</p>
</details>
<p>Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">∅</mi></mrow><annotation encoding="application/x-tex">\fc I{S,0}=\varnothing</annotation></semantics></math></span>, so we have found a counterexample to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm c</annotation></semantics></math></span>.</p>
</details>
<p>An example of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup><mo>∧</mo><mi mathvariant="normal">¬</mi><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm c\land\neg P_\subset^\mrm b</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> obtained through recursively defining a transfinite sequence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>X</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{X_\alp}</annotation></semantics></math></span> of strictly convex spaces described as follows. We start with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mn>0</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi mathvariant="normal">ℓ</mi><mn>4</mn><mn>3</mn></msubsup></mrow><annotation encoding="application/x-tex">X_0\ceq\ell_4^3</annotation></semantics></math></span>. Then, for any ordinal number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal">Ξ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>X</mi><mi>α</mi></msub><mo separator="true">,</mo><msub><mo>≤</mo><mi>α</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">X_{\alp+1}\ceq\fc\Xi{X_\alp,\le_\alp}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>≤</mo><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">\le_\alp</annotation></semantics></math></span> is a well-order on the set of all compact subsets of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">X_\alp</annotation></semantics></math></span> whose closed convex hulls do not include zero, and the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ξ</mi></mrow><annotation encoding="application/x-tex">\Xi</annotation></semantics></math></span> will be given later. For any limit ordinal <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mi>λ</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mo>⋃</mo><mrow><mi>α</mi><mo>&lt;</mo><mi>λ</mi></mrow></msub><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">X_\lmd\ceq\bigcup_{\alp&lt;\lmd}X_\alp</annotation></semantics></math></span>. In the end, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>X</mi><msub><mi>ω</mi><mn>1</mn></msub></msub></mrow><annotation encoding="application/x-tex">X\ceq X_{\omg_1}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>ω</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\omg_1</annotation></semantics></math></span> is the first uncountable ordinal number. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> sastisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm c</annotation></semantics></math></span> but does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">b</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm b</annotation></semantics></math></span>.</p>
<p>Now, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ξ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>Y</mi><mo separator="true">,</mo><mo>≤</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\Xi{Y,\le}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math></span> is a normed space and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>≤</mo></mrow><annotation encoding="application/x-tex">\le</annotation></semantics></math></span> is a well-order on the compact subsets of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math></span> whose closed convex hulls do not include zero, is defined as follows. First, assign ordinal labels to all compact subsets of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math></span> whose closed convex hull does not include zero according to the well-order <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>≤</mo></mrow><annotation encoding="application/x-tex">\le</annotation></semantics></math></span> and denote the compact set with ordinal label <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo>&lt;</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alp&lt;\beta</annotation></semantics></math></span> by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>K</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">K_\alp</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> is the order type of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>≤</mo></mrow><annotation encoding="application/x-tex">\le</annotation></semantics></math></span>. Define a transfinite sequence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">{</mo><msub><mi>Y</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow><mrow><mi>α</mi><mo>≤</mo><mi>β</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\B{Y_\alp}_{\alp\le\beta}</annotation></semantics></math></span> of normed spaces as follows. We start with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mn>0</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y_0\ceq Y</annotation></semantics></math></span>. Then, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo>&lt;</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alp&lt;\beta</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>Y</mi><mi>α</mi></msub><mo>⊕</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">Y_{\alp+1}\ceq Y_\alp\oplus\bR</annotation></semantics></math></span> equipped with the norm <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo fence="true">)</mo></mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><msqrt><mrow><msup><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup></mrow></msqrt><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\V{\p{x,t}}\ceq\p{1-\fr\dlt{2\p{4+\dlt}}}\fc N{x,t}+\fr\dlt{2\p{4+\dlt}}\sqrt{\V x^2+t^2},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>δ</mi><mo><mi mathvariant="normal">≔</mi></mo><munder><mrow><mi>min</mi><mo>⁡</mo></mrow><mrow><mi>a</mi><mo separator="true">,</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><msub><mi>K</mi><mi>α</mi></msub></mrow></munder><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\dlt\ceq\min_{a,a&#x27;\in K_\alp}\p{\V a+\V{a&#x27;}-\V{a-a&#x27;}},</annotation></semantics></math></span> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>inf</mi><mo>⁡</mo><mrow><mo fence="true">{</mo><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><msub><mi>λ</mi><mi>a</mi></msub><mo>∈</mo><mi mathvariant="double-struck">R</mi><mo separator="true">,</mo><mrow><mtext>finite </mtext><mstyle scriptlevel="0" displaystyle="false"><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>⊆</mo><msub><mi>K</mi><mi>α</mi></msub></mstyle></mrow><mo separator="true">,</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mo>=</mo><mo>−</mo><mi>t</mi><mo fence="true">}</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc N{x,t}\ceq\inf\set{\fc A{x,K&#x27;,\B{\lmd_a}}}{\lmd_a\in\bR,\text{finite $K&#x27;\subseteq K_\alp$},\sum_{a\in K&#x27;}\lmd_a=-t},</annotation></semantics></math></span> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><msub><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">}</mo></mrow><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></msub><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc A{x,K&#x27;,\B{\lmd_a}_{a\in K&#x27;}}\ceq\V{x-\sum_{a\in K&#x27;}\lmd_aa}+\sum_{a\in K&#x27;}\v{\lmd_a}\p{\V a-\fr\dlt4}.</annotation></semantics></math></span> Identify <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">\p{x,0}=x</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">x\in Y_\alp</annotation></semantics></math></span> so that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub><mo>⊆</mo><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_\alp\subseteq Y_{\alp+1}</annotation></semantics></math></span>, and one can prove that this inclusion is isometric. For any limit ordinal
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>≤</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\lmd\le\beta</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>λ</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mo>⋃</mo><mrow><mi>α</mi><mo>&lt;</mo><mi>λ</mi></mrow></msub><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\lmd\ceq\bigcup_{\alp&lt;\lmd}Y_\alp</annotation></semantics></math></span>. In the end, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ξ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>Y</mi><mo separator="true">,</mo><mo>≤</mo><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>Y</mi><mi>β</mi></msub></mrow><annotation encoding="application/x-tex">\fc\Xi{Y,\le}\ceq Y_\beta</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm c</annotation></semantics></math></span>
</summary>
<p>We can prove that an extension <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub><mo>⊆</mo><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_\alp\subseteq Y_{\alp+1}</annotation></semantics></math></span> has the following properties, given that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> is a strictly convex space: the norm on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}</annotation></semantics></math></span> satisfies the axioms of a norm and is strictly convex; <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> is a closed subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}</annotation></semantics></math></span>; the inclusion map <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>↦</mo><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x\mapsto\p{x,0}</annotation></semantics></math></span> is an isometry; and there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">v\in Y_{\alp+1}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><msub><mi>K</mi><mi>α</mi></msub><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall a\in K_\alp:\V{a-v}&lt;\V a</annotation></semantics></math></span>. Based on these properties, using transfinite induction, we can prove the following properties of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mi>α</mi></msub><mo>⊆</mo><msub><mi>X</mi><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub></mrow><annotation encoding="application/x-tex">X_\alp\subseteq X_{\alp&#x27;}</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo>&lt;</mo><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\alp&lt;\alp&#x27;</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub></mrow><annotation encoding="application/x-tex">X_{\alp&#x27;}</annotation></semantics></math></span> is strictly convex; <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">X_\alp</annotation></semantics></math></span> is a closed subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub></mrow><annotation encoding="application/x-tex">X_{\alp&#x27;}</annotation></semantics></math></span> with isometric inclusion; for any compact set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi><mo>⊆</mo><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">K\subseteq X_\alp</annotation></semantics></math></span> whose closed convex hull does not include zero, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><msub><mi>X</mi><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub></mrow><annotation encoding="application/x-tex">v\in X_{\alp&#x27;}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>K</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall a\in K:\V{a-v}&lt;\V a</annotation></semantics></math></span>.</p>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}</annotation></semantics></math></span> is a strictly convex space
</summary>
<p>It is sufficient to prove that the construction of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> is sublinear and nonnegative. Then, by the strict convexity of the norm on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> and the strict convexity of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>↦</mo><msqrt><mrow><msup><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mi>t</mi><mn>2</mn></msup></mrow></msqrt></mrow><annotation encoding="application/x-tex">\p{x,t}\mapsto\sqrt{\V x^2+t^2}</annotation></semantics></math></span>, one can see that the norm on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}</annotation></semantics></math></span> is strictly convex.</p>
<p>First, by setting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>=</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">a=a&#x27;</annotation></semantics></math></span> in the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi></mrow><annotation encoding="application/x-tex">\dlt</annotation></semantics></math></span>, we see <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><msub><mi>K</mi><mi>α</mi></msub><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mi>δ</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\forall a\in K_\alp:\V a\ge\dlt/2</annotation></semantics></math></span>. Also, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi></mrow><annotation encoding="application/x-tex">\dlt</annotation></semantics></math></span> is positive because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> is strictly convex. We then have that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span> is nonnegative.</p>
<p>The homogeneity and nonnegativity of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> is obvious from the homogeneity and nonnegativity of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span>. The only real work lies in proving <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> satisfies the triangle inequality.</p>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo>∈</mo><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">\p{x_1,t_1}\in Y_{\alp+1}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>⊆</mo><msub><mi>K</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">K&#x27;_1\subseteq K_\alp</annotation></semantics></math></span> be a finite set, and let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mo fence="true">}</mo></mrow><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></msub></mrow><annotation encoding="application/x-tex">\B{\lmd_{1a}}_{a\in K&#x27;_1}</annotation></semantics></math></span> be real numbers such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></msub><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mo>=</mo><mo>−</mo><msub><mi>t</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\sum_{a\in K&#x27;_1}\lmd_{1a}=-t_1</annotation></semantics></math></span>. Similarly fix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><msub><mi>x</mi><mn>2</mn></msub><mo separator="true">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{x_2,t_2}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">K&#x27;_2</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mrow><mn>2</mn><mi>a</mi></mrow></msub><mo fence="true">}</mo></mrow><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></msub></mrow><annotation encoding="application/x-tex">\B{\lmd_{2a}}_{a\in K&#x27;_2}</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>+</mo><msub><mi>x</mi><mn>2</mn></msub><mo separator="true">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo>+</mo><msub><mi>t</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>∪</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msub><mi>λ</mi><mi>a</mi></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>a</mi><mo mathvariant="normal">∉</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></mstyle></mtd></mtr></mtable></mrow><mo>+</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>λ</mi><mrow><mn>2</mn><mi>a</mi></mrow></msub><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>a</mi><mo mathvariant="normal">∉</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable></mrow></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\p{x,t}&amp;\ceq\p{x_1+x_2,t_1+t_2},\\
K&#x27;&amp;\ceq K&#x27;_1\cup K&#x27;_2,\\
\lmd_a&amp;\ceq\begin{dcases}\lmd_{1a},&amp;a\in K&#x27;_1,\\0,&amp;a\notin K&#x27;_1\end{dcases}
+\begin{dcases}\lmd_{2a},&amp;a\in K&#x27;_2,\\0,&amp;a\notin K&#x27;_2.\end{dcases}
\end{align*}</annotation></semantics></math></span> Then, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></msub><msub><mi>λ</mi><mi>a</mi></msub><mo>=</mo><mo>−</mo><mi>t</mi></mrow><annotation encoding="application/x-tex">\sum_{a\in K&#x27;}\lmd_a=-t</annotation></semantics></math></span>.</p>
<p>We can then expand <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>x</mi><mn>1</mn></msub><mo>+</mo><msub><mi>x</mi><mn>2</mn></msub><mo>−</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></munder><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mi>a</mi><mo>−</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></munder><msub><mi>λ</mi><mrow><mn>2</mn><mi>a</mi></mrow></msub><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mrow><mn>2</mn><mi>a</mi></mrow></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><msub><mi>x</mi><mn>1</mn></msub><mo>−</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></munder><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">∥</mo><msub><mi>x</mi><mn>2</mn></msub><mo>−</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></munder><msub><mi>λ</mi><mrow><mn>2</mn><mi>a</mi></mrow></msub><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mrow><mn>2</mn><mi>a</mi></mrow></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo separator="true">,</mo><msubsup><mi>K</mi><mn>1</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow><mo>+</mo><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mn>2</mn></msub><mo separator="true">,</mo><msubsup><mi>K</mi><mn>2</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mrow><mn>2</mn><mi>a</mi></mrow></msub><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc A{x,K&#x27;,\B{\lmd_a}}
&amp;=\V{x-\sum_{a\in K&#x27;}\lmd_aa}+\sum_{a\in K&#x27;}\v{\lmd_a}\p{\V a-\fr\dlt4}\\
&amp;\le\V{x_1+x_2-\sum_{a\in K&#x27;_1}\lmd_{1a}a-\sum_{a\in K&#x27;_2}\lmd_{2a}a}
+\sum_{a\in K&#x27;_1}\v{\lmd_{1a}}\p{\V a-\fr\dlt4}
+\sum_{a\in K&#x27;_2}\v{\lmd_{2a}}\p{\V a-\fr\dlt4}\\
&amp;\le\V{x_1-\sum_{a\in K&#x27;_1}\lmd_{1a}a}+\sum_{a\in K&#x27;_1}\v{\lmd_{1a}}\p{\V a-\fr\dlt4}
+\V{x_2-\sum_{a\in K&#x27;_2}\lmd_{2a}a}+\sum_{a\in K&#x27;_2}\v{\lmd_{2a}}\p{\V a-\fr\dlt4}\\
&amp;=\fc A{x_1,K&#x27;_1,\B{\lmd_{1a}}}+\fc A{x_2,K&#x27;_2,\B{\lmd_{2a}}}
\end{align*}</annotation></semantics></math></span></p>
<p>Note that any choices of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mrow><mn>1</mn><mi>a</mi></mrow></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\lmd_{1a}}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mrow><mn>2</mn><mi>a</mi></mrow></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\lmd_{2a}}</annotation></semantics></math></span> can be used to construct such <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\lmd_a}</annotation></semantics></math></span>. Therefore, if you take the infimum, the inequality is preserved. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>t</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo>+</mo><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mn>2</mn></msub><mo separator="true">,</mo><msub><mi>t</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc N{x,t}\le\fc N{x_1,t_1}+\fc N{x_2,t_2}</annotation></semantics></math></span>.</p>
</details>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> is a closed subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}</annotation></semantics></math></span>
</summary>
<p>First, by setting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>=</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">a=a&#x27;</annotation></semantics></math></span> in the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi></mrow><annotation encoding="application/x-tex">\dlt</annotation></semantics></math></span>, we see <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><msub><mi>K</mi><mi>α</mi></msub><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>≥</mo><mi>δ</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\forall a\in K_\alp:\V a\ge\dlt/2</annotation></semantics></math></span>. Also, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi></mrow><annotation encoding="application/x-tex">\dlt</annotation></semantics></math></span> is positive because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> is strictly convex.</p>
<p>Given <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></msub><msub><mi>λ</mi><mi>a</mi></msub><mo>=</mo><mo>−</mo><mi>t</mi></mrow><annotation encoding="application/x-tex">\sum_{a\in K&#x27;}\lmd_a=-t</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow><mo>≥</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo>≥</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mfrac><mi>δ</mi><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo>≥</mo><mrow><mo fence="true">∣</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo>=</mo><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mfrac><mi>δ</mi><mn>4</mn></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc A{x,K&#x27;,\B{\lmd_a}}\ge\sum_{a\in K&#x27;}\v{\lmd_a}\p{\V a-\fr\dlt4}
\ge\sum_{a\in K&#x27;}\v{\lmd_a}\p{\fr\dlt2-\fr\dlt4}
\ge\v{\sum_{a\in K&#x27;}\lmd_a}\fr\dlt4=\v t\fr\dlt4.</annotation></semantics></math></span> We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mi>δ</mi><mi mathvariant="normal">/</mi><mn>4</mn></mrow><annotation encoding="application/x-tex">\fc N{x,t}\ge\v t\dlt/4</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∥</mo><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>≥</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo>+</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mo>=</mo><mfrac><mrow><mi>δ</mi><mrow><mo fence="true">(</mo><mn>12</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow><mrow><mn>8</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mrow><mo fence="true">∣</mo><mi>t</mi><mo fence="true">∣</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\V{\p{x,t}}\ge\p{1-\fr\dlt{2\p{4+\dlt}}}\v t\fr\dlt4+\fr\dlt{2\p{4+\dlt}}\v t
=\fr{\dlt\p{12+\dlt}}{8\p{4+\dlt}}\v t.</annotation></semantics></math></span> Therefore, any point in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>∖</mo><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}\setminus Y_\alp</annotation></semantics></math></span>, i.e., any point with nonzero <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span> coordinate, has its distance to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> bounded below by a positive number. It makes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> closed in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}</annotation></semantics></math></span>.</p>
</details>
<details>
<summary>
Why the inclusion map is isometric
</summary>
<p>We need to calculate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc N{x,0}</annotation></semantics></math></span>. Given <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></msub><msub><mi>λ</mi><mi>a</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_{a\in K&#x27;}\lmd_a=0</annotation></semantics></math></span>, we define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Λ</mi><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∑</mo><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mo>=</mo><munder><mo>∑</mo><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&lt;</mo><mn>0</mn></mrow></munder><mo>−</mo><msub><mi>λ</mi><mi>a</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\Lmd\ceq\sum_{\lmd_a&gt;0}\lmd_a=\sum_{\lmd_a&lt;0}-\lmd_a.</annotation></semantics></math></span> If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Λ</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\Lmd&gt;0</annotation></semantics></math></span>, we have
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">∥</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mi>a</mi><mo fence="true">∥</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><munder><mo>∑</mo><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mi>a</mi><mo>+</mo><munder><mo>∑</mo><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&lt;</mo><mn>0</mn></mrow></munder><mrow><mo fence="true">(</mo><mo>−</mo><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mo>−</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mi mathvariant="normal">Λ</mi></mfrac><munder><mo>∑</mo><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&lt;</mo><mn>0</mn></mrow></munder><mo>−</mo><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo fence="true">)</mo></mrow><munder><mo>∑</mo><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mi>a</mi><mo>+</mo><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mi mathvariant="normal">Λ</mi></mfrac><munder><mo>∑</mo><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">)</mo></mrow><munder><mo>∑</mo><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&lt;</mo><mn>0</mn></mrow></munder><mrow><mo fence="true">(</mo><mo>−</mo><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mo>−</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><munder><mo>∑</mo><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&lt;</mo><mn>0</mn></mrow></mstyle></mtd></mtr></mtable></mstyle></munder><mfrac><mrow><msub><mi>λ</mi><mi>a</mi></msub><mrow><mo fence="true">(</mo><mo>−</mo><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo fence="true">)</mo></mrow></mrow><mi mathvariant="normal">Λ</mi></mfrac><mrow><mo fence="true">(</mo><mi>a</mi><mo>−</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>≤</mo><munder><mo>∑</mo><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&lt;</mo><mn>0</mn></mrow></mstyle></mtd></mtr></mtable></mstyle></munder><mfrac><mrow><msub><mi>λ</mi><mi>a</mi></msub><mrow><mo fence="true">(</mo><mo>−</mo><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo fence="true">)</mo></mrow></mrow><mi mathvariant="normal">Λ</mi></mfrac><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≤</mo><munder><mo>∑</mo><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&lt;</mo><mn>0</mn></mrow></mstyle></mtd></mtr></mtable></mstyle></munder><mfrac><mrow><msub><mi>λ</mi><mi>a</mi></msub><mrow><mo fence="true">(</mo><mo>−</mo><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo fence="true">)</mo></mrow></mrow><mi mathvariant="normal">Λ</mi></mfrac><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo>−</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mi mathvariant="normal">Λ</mi></mfrac><munder><mo>∑</mo><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&lt;</mo><mn>0</mn></mrow></munder><mo>−</mo><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo fence="true">)</mo></mrow><munder><mo>∑</mo><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>2</mn></mfrac><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mi mathvariant="normal">Λ</mi></mfrac><munder><mo>∑</mo><mrow><msub><mi>λ</mi><mi>a</mi></msub><mo>&gt;</mo><mn>0</mn></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">)</mo></mrow><munder><mo>∑</mo><mrow><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>&lt;</mo><mn>0</mn></mrow></munder><mrow><mo fence="true">(</mo><mo>−</mo><msub><mi>λ</mi><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><msup><mi>a</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>2</mn></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>2</mn></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\V{\sum_{a\in K&#x27;}\lmd_aa}
&amp;=\V{\sum_{\lmd_a&gt;0}\lmd_aa+\sum_{\lmd_{a&#x27;}&lt;0}\p{-\lmd_{a&#x27;}}\p{-a&#x27;}}\\
&amp;=\V{\p{\fr1\Lmd\sum_{\lmd_{a&#x27;}&lt;0}-\lmd_{a&#x27;}}\sum_{\lmd_a&gt;0}\lmd_aa
+\p{\fr1\Lmd\sum_{\lmd_a&gt;0}\lmd_a}\sum_{\lmd_{a&#x27;}&lt;0}\p{-\lmd_{a&#x27;}}\p{-a&#x27;}}\\
&amp;=\V{\sum_{\substack{\lmd_a&gt;0\\\lmd_{a&#x27;}&lt;0}}\fr{\lmd_a\p{-\lmd_{a&#x27;}}}\Lmd\p{a-a&#x27;}}
\le\sum_{\substack{\lmd_a&gt;0\\\lmd_{a&#x27;}&lt;0}}\fr{\lmd_a\p{-\lmd_{a&#x27;}}}\Lmd\V{a-a&#x27;}\\
&amp;\le\sum_{\substack{\lmd_a&gt;0\\\lmd_{a&#x27;}&lt;0}}\fr{\lmd_a\p{-\lmd_{a&#x27;}}}\Lmd\p{\V a-\V {a&#x27;}-\dlt}\\
&amp;=\p{\fr1\Lmd\sum_{\lmd_{a&#x27;}&lt;0}-\lmd_{a&#x27;}}\sum_{\lmd_a&gt;0}\lmd_a\p{\V a-\fr\dlt2}
+\p{\fr1\Lmd\sum_{\lmd_a&gt;0}\lmd_a}\sum_{\lmd_{a&#x27;}&lt;0}\p{-\lmd_{a&#x27;}}\p{\V{a&#x27;}-\fr\dlt2}\\
&amp;=\sum_{a\in K&#x27;}\v{\lmd_a}\p{\V a-\fr\dlt2}.
\end{align*}</annotation></semantics></math></span> The same inequality is true if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Λ</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\Lmd=0</annotation></semantics></math></span>.</p>
<p>We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mrow><mo fence="true">∥</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>−</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>2</mn></mfrac><mo fence="true">)</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>+</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><mrow><mo fence="true">∣</mo><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mrow><mo fence="true">∣</mo><munder><mo>∑</mo><mrow><mi>a</mi><mo>∈</mo><msup><mi>K</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></munder><msub><mi>λ</mi><mi>a</mi></msub><mo fence="true">∣</mo></mrow><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc A{x,K&#x27;,\B{\lmd_a}}
&amp;=\V{x-\sum_{a\in K&#x27;}\lmd_aa}+\sum_{a\in K&#x27;}\v{\lmd_a}\p{\V a-\fr\dlt4}\\
&amp;\ge\V x-\V{\sum_{a\in K&#x27;}\lmd_aa}+\sum_{a\in K&#x27;}\v{\lmd_a}\p{\V a-\fr\dlt4}\\
&amp;\ge\V x-\sum_{a\in K&#x27;}\v{\lmd_a}\p{\V a-\fr\dlt2}+\sum_{a\in K&#x27;}\v{\lmd_a}\p{\V a-\fr\dlt4}\\
&amp;=\V x+\sum_{a\in K&#x27;}\v{\lmd_a}\fr\dlt4
\ge\V x+\v{\sum_{a\in K&#x27;}\lmd_a}\fr\dlt4=\V x.
\end{align*}</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>≥</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc N{x,0}\ge\V x</annotation></semantics></math></span>. On the other hand, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>≤</mo><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi mathvariant="normal">∅</mi><mo separator="true">,</mo><mrow><mo fence="true">{</mo><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc N{x,0}\le\fc A{x,\varnothing,\B{}}=\V x</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\fc N{x,0}=\V x</annotation></semantics></math></span>.</p>
<p>Plug this into the definition of the norm, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∥</mo><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\V{\p{x,0}}=\V x</annotation></semantics></math></span>.</p>
</details>
<details>
<summary>
Why <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><msub><mi>K</mi><mi>α</mi></msub><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall a\in K_\alp:\V{a-v}&lt;\V a</annotation></semantics></math></span>
</summary>
<p>We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>≤</mo><mi>A</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mrow><mo fence="true">{</mo><mi>a</mi><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mrow><mo fence="true">{</mo><mn>1</mn><mo fence="true">}</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc N{a,-1}\le\fc A{a,\B a,\B1}=\V a-\fr\dlt4.</annotation></semantics></math></span></p>
<p>Pick <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">v\ceq\p{0,-1}</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo fence="true">∥</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo fence="true">)</mo></mrow><mi>N</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><msqrt><mrow><msup><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mn>2</mn></msup><mo>+</mo><mn>1</mn></mrow></msqrt></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≤</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mi>δ</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mn>4</mn><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mrow><mo fence="true">(</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo>−</mo><mfrac><mi>δ</mi><mn>8</mn></mfrac><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\V{a-v}&amp;=\V{\p{a,-1}}\\
&amp;=\p{1-\fr\dlt{2\p{4+\dlt}}}\fc N{a,-1}+\fr\dlt{2\p{4+\dlt}}\sqrt{\V a^2+1}\\
&amp;\le\p{1-\fr\dlt{2\p{4+\dlt}}}\p{\V a-\fr\dlt4}+\fr\dlt{2\p{4+\dlt}}\p{\V a+1}\\
&amp;=\V a-\fr\dlt8&lt;\V a.
\end{align*}</annotation></semantics></math></span></p>
</details>
<details>
<summary>
Transfinite induction
</summary>
<p>First, we need to prove a bunch of properties that all spaces in the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>Y</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{Y_\alp}</annotation></semantics></math></span> transfinite sequence in the construction of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ξ</mi></mrow><annotation encoding="application/x-tex">\Xi</annotation></semantics></math></span> have. The successor steps for proving these properties are already done, so we consider the limit steps. Suppose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span> is a limit ordinal.</p>
<p>We have that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>λ</mi></msub><mo>=</mo><msub><mo>⋃</mo><mrow><mi>α</mi><mo>&lt;</mo><mi>λ</mi></mrow></msub><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\lmd=\bigcup_{\alp&lt;\lmd}Y_\alp</annotation></semantics></math></span> is a strictly convex space. It is a normed space in the first place because any of its vectors belongs to some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>&lt;</mo><mi>λ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp&lt;\lmd}</annotation></semantics></math></span>, and it is a normed space. It is strictly convex because any two of its vectors belong to some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">Y_\alp</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub></mrow><annotation encoding="application/x-tex">Y_{\alp&#x27;}</annotation></semantics></math></span> respectively, so they belong to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi mathvariant="normal">max</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>α</mi><mo separator="true">,</mo><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\opc{max}{\alp,\alp&#x27;}}</annotation></semantics></math></span>, which is a strictly convex space.</p>
<p>We have that any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>&lt;</mo><mi>λ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp&lt;\lmd}</annotation></semantics></math></span> is a closed subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>λ</mi></msub></mrow><annotation encoding="application/x-tex">Y_\lmd</annotation></semantics></math></span>. This is because it is a closed subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}</annotation></semantics></math></span>, which in turn is a subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>λ</mi></msub></mrow><annotation encoding="application/x-tex">Y_\lmd</annotation></semantics></math></span>.</p>
<p>For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo>&lt;</mo><mi>λ</mi></mrow><annotation encoding="application/x-tex">\alp&lt;\lmd</annotation></semantics></math></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><msub><mi>Y</mi><mi>λ</mi></msub></mrow><annotation encoding="application/x-tex">v\in Y_\lmd</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><msub><mi>K</mi><mi>α</mi></msub><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall a\in K_\alp:\V{a-v}&lt;\V a</annotation></semantics></math></span>. This is because such <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span> can be found in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">Y_{\alp+1}</annotation></semantics></math></span>, which is a subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>λ</mi></msub></mrow><annotation encoding="application/x-tex">Y_\lmd</annotation></semantics></math></span>.</p>
<p>Now we can apply these properties to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ξ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>Y</mi><mo separator="true">,</mo><mo>≤</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\Xi{Y,\le}</annotation></semantics></math></span> as it is an element in the sequence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>Y</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{Y_\alp}</annotation></semantics></math></span>. It is a strictly convex space, and it contains <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math></span> as a closed subspace, and for any compact set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi><mo>⊆</mo><mi>Y</mi></mrow><annotation encoding="application/x-tex">K\subseteq Y</annotation></semantics></math></span> whose closed convex hull does not include zero, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><mi mathvariant="normal">Ξ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>Y</mi><mo separator="true">,</mo><mo>≤</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">v\in\fc\Xi{Y,\le}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>Y</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>≤</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall a\in Y:\V{a-v}\le\V a</annotation></semantics></math></span>.</p>
<p>With these properties on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ξ</mi></mrow><annotation encoding="application/x-tex">\Xi</annotation></semantics></math></span>, we can do another transfinite induction to get the properties for all spaces in the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>X</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{X_\alp}</annotation></semantics></math></span> transfinite sequence.</p>
</details>
<p>We now show that every compact set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">K\subseteq X</annotation></semantics></math></span> is contained in some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">X_\alp</annotation></semantics></math></span>. A compact metric space is always separable, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi></mrow><annotation encoding="application/x-tex">K</annotation></semantics></math></span> has a countable dense subset <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>n</mi></msub><mo fence="true">}</mo></mrow><mrow><mi>n</mi><mo>&lt;</mo><mi>ω</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\B{a_n}_{n&lt;\omg}</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi><mo>=</mo><msub><mo>⋃</mo><mrow><mi>α</mi><mo>&lt;</mo><msub><mi>ω</mi><mn>1</mn></msub></mrow></msub><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">X=\bigcup_{\alp&lt;\omg_1}X_\alp</annotation></semantics></math></span>, for each <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>α</mi><mi>n</mi></msub><mo>&lt;</mo><msub><mi>ω</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\alp_n&lt;\omg_1</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>n</mi></msub><mo>∈</mo><msub><mi>X</mi><msub><mi>α</mi><mi>n</mi></msub></msub></mrow><annotation encoding="application/x-tex">a_n\in X_{\alp_n}</annotation></semantics></math></span>. The supremum <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mi>sup</mi><mo>⁡</mo></mrow><mi>n</mi></msub><msub><mi>α</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">\alp\ceq\sup_n\alp_n</annotation></semantics></math></span> is still a countable ordinal. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>n</mi></msub><mo>∈</mo><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">a_n\in X_\alp</annotation></semantics></math></span>. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">X_\alp</annotation></semantics></math></span> is closed in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi><mo>⊆</mo><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">K\subseteq X_\alp</annotation></semantics></math></span>.</p>
<p>Now let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span> be a compact set and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo mathvariant="normal">∉</mo><mi mathvariant="normal"><mover accent="true"><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">v</mi></mrow><mo stretchy="true">‾</mo></mover></mi><mo>⁡</mo><mi>S</mi></mrow><annotation encoding="application/x-tex">x\notin\opn{\overline{conv}}S</annotation></semantics></math></span>. Then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>S</mi><mo>−</mo><mi>x</mi></mrow><annotation encoding="application/x-tex">K\ceq S-x</annotation></semantics></math></span> is a compact set whose closed convex hull does not include zero. It is contained in some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>X</mi><mi>α</mi></msub></mrow><annotation encoding="application/x-tex">X_\alp</annotation></semantics></math></span>, so there exists some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi><mo>∈</mo><msub><mi>X</mi><mrow><mi>α</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">v\in X_{\alp+1}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>a</mi><mo>∈</mo><mi>S</mi><mo>:</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo>−</mo><mi>v</mi><mo fence="true">∥</mo></mrow><mo>&lt;</mo><mrow><mo fence="true">∥</mo><mi>a</mi><mo>−</mo><mi>x</mi><mo fence="true">∥</mo></mrow></mrow><annotation encoding="application/x-tex">\forall a\in S:\V{a-x-v}&lt;\V{a-x}</annotation></semantics></math></span>. This means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>+</mo><mi>v</mi><mo>∈</mo><mi>I</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x+v\in\fc I{S,x}</annotation></semantics></math></span>. This proves that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi></mrow><annotation encoding="application/x-tex">X</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">c</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm c</annotation></semantics></math></span>.</p>
</details>
<h2 data-label="0.8" id="note-on-the-economic-pareto-efficiency">Note on the economic Pareto efficiency</h2>
<p>As explained in the <a href="#background">background</a>, the concept that is more commonly used in economics is neither the strong Pareto efficiency nor the weak Pareto efficiency. In the context of this article, the set of economic Pareto improvements can be defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mover accent="true"><mi>I</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>⋃</mo><mrow><mi>a</mi><mo>∈</mo><mi>S</mi></mrow></munder><mrow><mo fence="true">(</mo><mi>B</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>a</mi><mo separator="true">,</mo><mrow><mo fence="true">∥</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">∥</mo></mrow><mo fence="true">)</mo></mrow><mo>∩</mo><mover accent="true"><mi>I</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\tilde I}{S,x}\ceq\bigcup_{a\in S}\p{\fc B{a,\V{x-a}}\cap\fc{\bar I}{S,x}},</annotation></semantics></math></span> and the economic Pareto set can be defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mover accent="true"><mi>P</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>x</mi><mo>∈</mo><mi>X</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mover accent="true"><mi>I</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">∅</mi><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{\tilde P}S\ceq\set{x\in X}{\fc{\tilde I}{S,x}=\varnothing}.</annotation></semantics></math></span> Then, we can similarly define the properties <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>~</mo></mover><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\tilde P_{\supset,\subset}^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span>.</p>
<p>Although the economic Pareto efficiency is not the focus of this article, some of the characterizations of the properties <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>~</mo></mover><mrow><mo>⊃</mo><mo separator="true">,</mo><mo>⊂</mo></mrow><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\tilde P_{\supset,\subset}^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span> can be derived for free given the results we have already established. First, we obviously have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mover accent="true"><mi>P</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>⊆</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar P}S\subseteq\fc{\tilde P}S\subseteq\fc PS</annotation></semantics></math></span> for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mo>⊆</mo><mi>X</mi></mrow><annotation encoding="application/x-tex">S\subseteq X</annotation></semantics></math></span>. Second, the proof of Theorem <span class="citation" data-cites="thm:not-strictly-convex-to-not-p2f"><a href="#thm:not-strictly-convex-to-not-p2f">1</a></span> can be directly ported to prove that a non-strictly convex space does not satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>~</mo></mover><mo>⊂</mo><mi mathvariant="normal">f</mi></msubsup></mrow><annotation encoding="application/x-tex">\tilde P_\subset^\mrm f</annotation></semantics></math></span>. Third, Theorem <span class="citation" data-cites="thm:strictly-convex-to-equivalence"><a href="#thm:strictly-convex-to-equivalence">3</a></span> states that a strictly convex space has <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>=</mo><mover accent="true"><mi>P</mi><mo>~</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>P</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>S</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\bar P}S=\fc{\tilde P}S=\fc PS</annotation></semantics></math></span>. These observations immediately give the exact characterizations of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>~</mo></mover><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\tilde P_\subset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span> in finite-dimensional spaces, which are the same as those of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span>. For infinite-dimensional spaces, only <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>~</mo></mover><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">\tilde P_\subset^\mrm a</annotation></semantics></math></span> is exactly characterized because only <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊂</mo><mi mathvariant="normal">a</mi></msubsup></mrow><annotation encoding="application/x-tex">P_\subset^\mrm a</annotation></semantics></math></span> is exactly characterized. The third observation also immediately gives the exact characterizations of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>~</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\tilde P_\supset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span> in non-planar spaces, which are the same as those of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">P_\supset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span> (or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mover accent="true"><mi>P</mi><mo>ˉ</mo></mover><mo>⊃</mo><mrow><mi mathvariant="normal">f</mi><mo separator="true">,</mo><mi mathvariant="normal">c</mi><mo separator="true">,</mo><mi mathvariant="normal">b</mi><mo separator="true">,</mo><mi mathvariant="normal">a</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\bar P_\supset^{\mrm f,\mrm c,\mrm b,\mrm a}</annotation></semantics></math></span>, which are the same). Only the planar case needs additional work.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="math" /><category term="functional analysis" /><category term="preference relation" /><category term="pareto efficiency" /><category term="convex analysis" /><category term="long paper" /><summary type="html"><![CDATA[The distance preference relation is the preference relation over a metric space where points nearer to the ideal point are preferred. Suppose there are some agents with distance preference relations over a real normed space, then the (weak/strong) Pareto set of them may contain or be contained by the closed convex hull of their ideal points. This article attempts to completely classify normed spaces based on whether the property holds for all finite sets, all compact sets, all bounded sets, or all sets of ideal points. Several characterizations in infinite dimensions remain open.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2026-10-07-convex-pareto.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2026-10-07-convex-pareto.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Reducing build time of my blog by 88% by optimizing cross-language invocations]]></title><link href="https://ulysseszh.github.io/update/2026/09/12/restructure-2.html" rel="alternate" type="text/html" title="Reducing build time of my blog by 88% by optimizing cross-language invocations" /><published>2026-09-12T05:06:46-07:00</published><updated>2026-09-12T05:06:46-07:00</updated><id>https://ulysseszh.github.io/update/2026/09/12/restructure-2</id><content type="html" xml:base="https://ulysseszh.github.io/update/2026/09/12/restructure-2.html"><![CDATA[<h2 data-label="0.1" id="introduction">Introduction</h2>
<p>In a past <a href="/update/2023/11/06/restructure.html">post</a>, I shared my experience of restructuring my blog to use Pandoc and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mtext>KaTeX</mtext></mrow><annotation encoding="application/x-tex">\KaTeX</annotation></semantics></math></span> to convert the articles from Markdown to HTML. However, the cost is that building the blog becomes very slow. I developed a <a href="https://github.com/UlyssesZh/UlyssesZh.github.io/issues/95" target="_blank" rel="external">plugin</a> to make Jekyll support multithread rendering, but the boost is not enough. Generating the full site in production configurations takes 49 seconds on my local development machine and 156 seconds on the CI machine (GitHub Actions runners provided by GitHub).</p>
<p>The main reason of the slow building is the slow conversion from Markdown to HTML. The full pipeline of converting a piece of Markdown into HTML is as follows. Paru invokes Pandoc CLI. Then, Pandoc CLI invokes three filters: my Pandoc filter written in Ruby, pandoc-crossref written in Haskell, and pandoc-katex written in Rust (which in turn invokes JavaScript codes using QuickJS), the input and output of each of which are JSON representation of Pandoc AST. The order of languages being executed is Haskell, Ruby, Haskell, native (Rust) (embedded JavaScript). A lot of repetitive work is done for each converted document:</p>
<ul>
<li>Spawning a Haskell process (Pandoc CLI).</li>
<li>Spawning a Ruby process and loading gems (Paru and Rouge).</li>
<li>Spawning another Haskell process (pandoc-crossref).</li>
<li>Spawning a native binary (pandoc-katex) that initializes a JavaScript engine (QuickJS).</li>
<li>Serialize and deserialize the entire AST to JSON between every two steps.</li>
</ul>
<h2 data-label="0.2" id="optimization-of-calling-javascript">Optimization of calling JavaScript</h2>
<p>The most natural idea is simply to ditch pandoc-katex and directly call JavaScript from Ruby.</p>
<p>At first I thought it might be difficult because it is quite complicated to achieve multithread parallellism in Node.js. However, it seems that multithread parallellism is quite easy with MiniRacer (much easier than in Node.js) because different JavaScript contexts can run parallelly in different threads. However, calling functions in the same JavaScript context from different threads does not make the function calls parallel but merely concurrent.</p>
<p>I note that <code>require</code> and <code>import</code> does not work in MiniRacer, so I have to bundle all dependencies into one JavaScript file. I can achieve this using esbuild.</p>
<p>The Pandoc filter for rendering math equations can now be written in Ruby. The order of executed languages is now Haskell, Ruby, Haskell, and Ruby (embedded JavaScript). I then should reorder the filters so that the two Ruby filters can be combined so that the order of executed language can then be Haskell, Haskell, and Ruby (embedded JavaScript). The reason that my custom Ruby filter was before pandoc-crossref was that pandoc-crossref introduces <code>MetaInlines</code> nodes, which greatly <a href="https://github.com/htdebeer/paru/issues/91#issuecomment-3315990670" target="_blank" rel="external">reduces</a> performance of Paru filters by having it spawning additional Pandoc CLI processes. Therefore, to make this reorder, I also need to ditch Paru for writing the filter. Fortunately, writing a custom Pandoc filter without an external library is quite easy.</p>
<p>I also note that, to avoid repeatedly serializing the same <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mtext>KaTeX</mtext></mrow><annotation encoding="application/x-tex">\KaTeX</annotation></semantics></math></span> rendering options, I should pass the options only once to each JavaScript context.</p>
<h2 data-label="0.3" id="optimization-of-calling-haskell">Optimization of calling Haskell</h2>
<p>How to reduce the startup overhead when using Pandoc with JSON filters to convert a large amount of documents? I thought of a few candidates that may not work:</p>
<ul>
<li>Using Lua filters: Pandoc has built-in Lua interpreter, so using Lua avoids JSON serialization and spawning external processes. However, this is not possible because of the complexity of Rouge and pandoc-crossref.</li>
<li>Using Pandoc server: This keeps Pandoc process running to avoid the startup overhead of Pandoc CLI. It introduces overhead due to network protocols, but it is much smaller. However, the improvement is limited because the major overhead is in spawning filter processes.</li>
<li>Batching documents: Combining multiple Markdown documents into one large Markdown and then split out separate HTML codes from the resultant HTML greatly reduces the number of spawned processes. However, this requires major rewriting of the filters and Jekyll itself, which imposes huge maintenance workload in the future.</li>
</ul>
<p>It seems that the only way out is to write my own program in Haskell for document processing, using Pandoc and pandoc-crossref as libraries. There are two ways that it may work:</p>
<ul>
<li>A custom server with IPC: I can write a separate program at standby, handling requests from Jekyll and returning converted documents. Each program handle requests from one Ruby thread, and they communicate with Jekyll through Unix domain socket.</li>
<li>An FFI library: I can write a library that can be called using FFI. If compiled with the <code>-threaded</code> flag of GHC, the functions can be invoked parallelly in different threads. Note that one needs to initialize the Haskell RTS with the same number of capabilities as threads in the Ruby side (<a href="https://wiki.haskell.org/index.php?title=Foreign_Function_Interface#Enhancing_performance_and_advanced_topics" target="_blank" rel="external">document</a>).</li>
</ul>
<p class="no-indent">
Both approaches are actually straight forward, but it is not obvious which one should have higher performance. For the IPC approach, there is the process startup overhead of the Haskell program for each Ruby thread, and there is the overhead of IPC. For the FFI approach, there is the overhead of managing bound threads and parallellism.
</p>
<p>Before I decided, I asked an AI agent to write a <a href="https://github.com/UlyssesZh/call-haskell-from-ruby" target="_blank" rel="external">benchmark</a> to compare the two different approaches. The result is that the FFI approach performs better in most cases, so I decided to take the FFI approach.</p>
<h2 data-label="0.4" id="optimization-of-serialization">Optimization of serialization</h2>
<p>MessagePack is faster than JSON, so using MessagePack instead of JSON is an improvement.</p>
<p>I also avoid sending configuration options through cross-language barriers. Instead of calling <code>convert(payload, options)</code> from Ruby, call <code>init(options)</code> once and then <code>convert(payload)</code> afterwards. This makes sure that the same options are only serialized at most once. For JavaScript, one can simply store the options in a local variable. For Haskell, there are several ways for storing some persistent data: <code>IORef</code>, <code>MVar</code>, and <code>StablePtr</code> are all viable solutions, between which there should be negligible difference in terms of performance.</p>
<p>The data flow between language barriers for each document conversion is now as follows:</p>
<ul>
<li>Ruby to Haskell: raw string (Markdown).</li>
<li>Haskell to Ruby: MessagePack (AST).</li>
<li>Ruby to JavaScript: multiple raw strings (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mtext>TeX</mtext></mrow><annotation encoding="application/x-tex">\TeX</annotation></semantics></math></span>).</li>
<li>JavaScript to Ruby: multiple raw strings (HTML).</li>
<li>Ruby to Haskell: MessagePack (AST).</li>
<li>Haskell to Ruby: raw string (HTML).</li>
</ul>
<p class="no-indent">
As we can see, there are only two serializations and deserializations for the full AST. All other cross-language communications are direct string copying.
</p>
<h2 data-label="0.5" id="result">Result</h2>
<p>The time spent on generation of the full site in production configurations on the CI machine (GitHub provided runners for GitHub Actions) before and after the revamp on the Markdown engine is 156 seconds and 19 seconds respectively, marking a 88% reduction.</p>
<h2 data-label="0.6" id="local-development">Local development</h2>
<p>For local development, I usually only edit one post at a time, so it should not be necessary to build the full site. Fortunately, Jekyll has the feature of incremental build, which only renders the documents that depend on the changed files. However, for changes in a single blog article, besides the article itself, there are actually a lot of things that get rebuilt because they all depend on the article:</p>
<ul>
<li>Homepage. The homepage lists articles, so any change in any article changes the homepage. Note that because the homepage is paginated, every paginated page of the homepage gets rebuilt.</li>
<li>Archives. In my blog, the archives are lists of articles categorized by dates, categories, and tags. Because changing one article modifies the full list of articles, all archive pages are rebuilt.</li>
<li>Atom feed. The Atom feed directly contains the HTML contents of articles, so it gets rebuilt when an article changes.</li>
<li>All articles. It sounds absurd at first, but you may note that there are navigation links to the previous article and the next article at the bottom of every article page. This makes all articles depend on each other.</li>
</ul>
<p>The cost of rendering the homepage is still manageable, so I passed it for now. However, the other items are quite slow to generate because of the large amount of contents. I added some patches to Jekyll and some Jekyll plugins to disable the archives and the Atom feed and to cut the dependency between articles when some environment variables are set.</p>
<p>Now, the time for incremental build of the site when one article is changed is 0.3 seconds on my development machine. It is now on the level of Jekyll without any plugins.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="update" /><category term="jekyll" /><category term="tex" /><category term="update" /><category term="web" /><summary type="html"><![CDATA[Waiting for my blog to build has been making writing articles unpleasant for me. In order to speed up the building, I revamped my Markdown engine to call Pandoc through FFI and call KaTeX through MiniRacer. I am careful to ensure that the cross-language invocations support multithread operations. This reduces the build time of the full site in production configurations on the CI machine (GitHub provided runners) from 156 seconds to 19 seconds, marking a 88% reduction.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2026-09-12-restructure-2.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2026-09-12-restructure-2.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Analyzing the narrative of <cite>Kittens Game</cite>]]></title><link href="https://ulysseszh.github.io/literature/2026/06/25/kittens-analysis.html" rel="alternate" type="text/html" title="Analyzing the narrative of Kittens Game" /><published>2026-06-25T07:11:44-07:00</published><updated>2026-06-25T07:11:44-07:00</updated><id>https://ulysseszh.github.io/literature/2026/06/25/kittens-analysis</id><content type="html" xml:base="https://ulysseszh.github.io/literature/2026/06/25/kittens-analysis.html"><![CDATA[<p><em>This article is adapted from my submission to a writing class assignment at school.</em></p>
<hr />
<p>This analysis centers about a game called <a href="https://kittensgame.com" target="_blank" rel="external"><cite>Kittens Game</cite></a>.</p>
<p>Calling <cite>Kittens Game</cite> a video game is a bit of a far stretch in that it is a text-based game, where the only visual feedback is textual instead of having visual images. Furthermore, even though it is text-based, there is not a single line of narrative in the game. All the texts are just statistical numbers, names and descriptions of events and upgrades, and other miscellaneous texts such as the game settings. However, the story it tells is extremely content-rich. I am not going to insert screenshots of the game in the middle of this analysis because screenshots would be the least interesting thing in this analysis before I explain the story. A screenshot or a short video of the gameplay does not tell anything about the rhetorics of the game, but the player can only feel the progression in story by unlocking game mechanics through weeks or even years of gameplay. Rather, I will include some flowcharts of the upgrades that the player can unlock throughout the game. In the end of the analysis, I will include a few screenshots and leave some remarks on them.</p>
<p>For its genre, <cite>Kittens Game</cite> is an incremental game. Like any incremental games, the main game mechanics is to do repetitive actions or buy automations to accumulate in-game resources. Incremental games can usually be categorized into clicker games and idle games, determined by whether repetitive actions or automation upgrades are more central to the gameplay. <cite>Kittens Game</cite> is neither. It is not a clicker game because repetitive clicking can produce meaningful amounts of resources only during the first ten minutes of gameplay, which is a very small portion of the full gameplay compared with the months a player has to spend before unlocking the late-game mechanics. It is not an idle game because resources max out so quickly that almost all resource incomes are obtained during active playing. Requiring the player’s active non-repetitive attendance makes the game extraordinarily engaging compared with other incremental games. This gameplay style makes the player experience the progression in the game very attentively.</p>
<p>However, the player does not immediately get to know what the game tries to tell the player through the attentive experience of the progressions in numbers. At first, the upgrades and buildings in the game just feel like any other game with resources and buildings: there are different kinds of buildings, such as Huts for population, Warehouses for storage, Lumbermills for production, and Academies for development; there are different kinds of jobs, such as Farmers, Miners, Hunters, and Scholars; there are different upgrades, whether scientific or political, with different consequences, such as Clear Cutting vs. Strip Mining vs. Environmentalism, Monarchy vs. Autocracy vs. Republic, etc. The game even feels cute in that the population are kittens instead of humans. The player gets to make a lot of choices, such as different assignment of jobs for the kittens and different priorities in purchasing upgrades, but the choices feel purely strategic rather than having rhetorical meanings.</p>
<p>The turning point is when kittens discover Zebras and start trading with them. There are races that the player gets to trade with before Zebras appear, but what is different is that Zebras are especially hostile towards kittens while being the sole source of getting a crucial resource at this stage: titanium. At this point, the player realizes that diplomacy is mostly just about managing hostility, revealing the cruelty of the political world of the game: it is a Hobbesian world of <em>bellum omnium contra omnes</em> (the war of all against all). It is then interesting to think about why the author chose “Zebras” out of all possible names of such a race. This choice of author is not random but a reference to the books <cite>The Exegesis of Philip K. Dick</cite> (abbreviated as <cite>Exegesis</cite>) and <cite>VALIS</cite> (acronym for <cite>Vast Active Living Intelligence System</cite>) by Philip K. Dick (abbreviated as PKD). PKD explores the idea of gnosticism in those books: the material world is inherently flawed or illusory, referred to as the Black Iron Prison (abbreviated as BIP), created by a lower, often malevolent, deity, referred to as the Demiurge. For PKD, the world we inhabit may be a simulation or illusion, controlled by an external or higher force, the true god. “Zebra” is a name for gnostic gods, a divine, camouflaged intelligence that mimics the environment to communicate with humans. They are not the Demiurge but is the true god, who lives in a higher dimension over the material simulation world; their goal is to wake up mortal people in the BIP, which is the reason why Zebras in <cite>Kittens Game</cite> act as the external force to provide titanium, the very material needed to build ships and leave the planet. PKD’s visions of the BIP refer to a world of oppression and confinement, which resonates with the gnostic idea of the material world as a prison for the soul.</p>
<p>Speaking of leaving the planet, let us come back to the technological advancement of kittens. As we mentioned, science and technology start as being utilitarianistic, consisting of mostly agricultrue, mining, and construction. However, the story shifts drastically as the player advances to unlocking Rocketry. The story shifts from kittens on a farm to kittens as a galactic force. Science tells the kittens that their home planet is finite and insufficient, but they have to leave the planet to gain more space and more energy. From this point, the focus of the gameplay shifts from constructing earth-based buildings to constructing space-based buildings: there are space-based population buildings such as Space Stations and space-based resource production buildings such as Hydraulic Fracturers. In the next stage, the player gets to unlock more sciences that do not sound like physics at all, but the kittens are using technology to mold the reality itself. For example, Quantum Cryptography signifies the realization that the universe is made of information instead of just matter, and kittens start hacking their way out of reality; Chronophysics signifies the realization that time is but a variable that can be manipulated, and kittens step outside of the linear flow of the game to gain resources from the future. This process is not the normal kind of technological development at all, but the process of breaking out of the BIP.</p>
<p>I have been talking about kittens for a while, but what does this have to do with the player, the one who actually makes the choices that lead all the things to happen to kittens? This leads to the ultimate philosophical question in the game: who is the player? To answer this question, I will introduce another concept in the game: resetting. It is actually a common game mechanics called “prestige” shared by many incremental games, which typically clears the current progress in exchange for permanent upgrades. It mainly serves as a strategic move that players can choose to take to accelerate future advancement. In <cite>Kittens Game</cite>, the player gains Karma and Paragon by resetting, which are resources that persist through resetting. In order to advance at a reasonable rate, the player has to reset once in a while. This is just like the myth of Sisyphus: the player pushes the boulder up the hill (build the kittens civilization) and then intentionally roll it back down (reset for Paragon). Then, what does the kittens’ lives mean if they are destined to be erased? The game suggests that the only meaning is the accumulation of gnosis, symbolized as Karma and Paragon. What does it mean for the player if the game is just an endless cycle of resetting? The game forces the player to answer the same question posed to Sisyphus every time the player chooses to click the “reset” button. The answer suggested by the game is that the player is playing the role of the Demiurge. The player, or the Demiurge, creates this world in which kittens live, traps the kittens in a loop and forces them to labor for their own amusement (seeing the statistical numbers going up). From this point of view, this game that looks cute from far actually tells a tragic story, where the kittens use their accumulated gnosis through the endless destructions of the world in order to escape the BIP created by the Demiurge, yet they are still under the control of the Demiurge after countless trials, merely serving as the source of amusement for the Demiurge.</p>
<p>All of these are just a small part of the game. Every one of the game mechanics tells a part of the story. For example, the Order of the Sun religion in the game can be viewed through a gnostic lens as the worship of the Demiurge, and the kittens later find out that the traditional “worship” is just another layer of the prison to be exploited for higher understanding. The Leviathans, another race with which kittens can trade that appear after Zebras, is a reference to Thomas Hobbes’ book <cite>Leviathan or The Matter, Forme and Power of a Commonwealth Ecclesiasticall and Civil</cite>, and they act as the wardens of the BIP by providing Relics as part of the prison to prevent the <em>bellum omnium contra omnes</em>. The Void, a late-game resource gained from Temporal Paradoxes, signifies kittens’ use of the nothingness of the BIP to power their escape. Literally every mid-game and late-game mechanics can be expanded in long paragraphs on how it contribute to what the game wants to tell the player.</p>
<p>The fact that the game is able to tell the player so rich a story without a single line of narrative is what this game is amazing at and what makes this game stand out among all incremental games. Instead of directly telling the player the story, it urges the player to think and construct the story on their own every time the player makes a choice, clicks a button, and receive a feedback. This form of story-telling is unique to interactive digital media, and <cite>Kittens Game</cite> pushes it to its limit in utilizing this way to tell the full picture of an extremely rich story.</p>
<p>Now it is time to look back on the visual interface of the game.</p>
<figure>
<img src="/assets/images/figures/2026-06-25-kittens-analysis//screenshot-1.svg" class="dark-adaptive" style="width: 100%;" alt="Screenshot of the interface as the player opens the game for the first time." />
<figcaption aria-hidden="true">Screenshot of the interface as the player opens the game for the first time.</figcaption>
</figure>
<figure>
<img src="/assets/images/figures/2026-06-25-kittens-analysis//screenshot-2.svg" class="dark-adaptive" style="width: 100%;" alt="Screenshot of the interface as the player progresses to the mid-game." />
<figcaption aria-hidden="true">Screenshot of the interface as the player progresses to the mid-game.</figcaption>
</figure>
<p class="no-indent">
As can be seen, this is an extremely plain game interface, which is indeed the least interesting thing about the game at first glance. However, as the player connects the game with the BIP, the asthetic choice of this game interface suddenly makes sense: the interface itself depicts a literal BIP, where everything is just plainly laid out without deep thoughts and freedom. Seeking amusement from such a lifeless-looking thing, is not the player themself looking like something under the control of the Demiurge? Through the interface design, the game breaks the fourth wall to tell its deep philosophical and religional message to the player in the most subtle way.
</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="literature" /><category term="review" /><summary type="html"><![CDATA[<cite>Kittens Game</cite> is an incremental game that has very few narrative sentences presented in the game. However, it tells a very rich story in its own unique way through the interaction with the player.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2026-06-25-kittens-analysis.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2026-06-25-kittens-analysis.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Text-based visual art in LaTeX]]></title><link href="https://ulysseszh.github.io/programming/2026/06/06/tex-text-art.html" rel="alternate" type="text/html" title="Text-based visual art in LaTeX" /><published>2026-06-06T22:15:30-07:00</published><updated>2026-06-06T22:15:30-07:00</updated><id>https://ulysseszh.github.io/programming/2026/06/06/tex-text-art</id><content type="html" xml:base="https://ulysseszh.github.io/programming/2026/06/06/tex-text-art.html"><![CDATA[<p>I was writing an essay to analyze a text-based game for a class assignment. The game has an Easter egg of saving a text file locally in the computer, and there is a text-based visual art in it (guess what game it is!). I want to show the art in a figure. How can I do that?</p>
<p>After messing around with some packages, I finally found the way to use the <code>verbatimbox</code> package to draw a text art:</p>
<pre><code><span class="k">\documentclass</span><span class="p">{</span>article<span class="p">}</span>

<span class="k">\usepackage</span><span class="p">{</span>verbatimbox<span class="p">}</span>
<span class="k">\usepackage</span><span class="p">{</span>varwidth<span class="p">}</span>
<span class="k">\usepackage</span><span class="p">{</span>graphicx<span class="p">}</span>

<span class="nt">\begin{filecontents}</span>[noheader,overwrite]<span class="p">{</span>art.txt<span class="p">}</span>
  <span class="p">______________</span>
&lt; Kat loves Mar. &gt;
  --------------
         <span class="k">\   </span><span class="p">^__^</span> 
          <span class="k">\  </span>(oo)<span class="k">\_</span><span class="p">______</span>
             (<span class="p">__</span>)<span class="k">\       </span>)<span class="k">\/\\</span>
                 ||----w |
                 ||     ||
<span class="nt">\end{filecontents}</span>

<span class="nt">\begin{filecontents}</span>[noheader,overwrite]<span class="p">{</span>wide-art.txt<span class="p">}</span>
  <span class="p">______________</span>          <span class="p">______________</span>          <span class="p">_______________________</span>
&lt; Kat loves Mar. &gt;      &lt; Mar loves Kat. &gt;      &lt; They live a happy life. &gt;
  --------------          --------------          -----------------------
         <span class="k">\   </span><span class="p">^__^</span>                <span class="k">\   </span><span class="p">^__^</span>                <span class="k">\   </span><span class="p">^__^</span> 
          <span class="k">\  </span>(oo)<span class="k">\_</span><span class="p">______</span>         <span class="k">\  </span>(oo)<span class="k">\_</span><span class="p">______</span>         <span class="k">\  </span>(oo)<span class="k">\_</span><span class="p">______</span>
             (<span class="p">__</span>)<span class="k">\       </span>)<span class="k">\/\\</span>       (<span class="p">__</span>)<span class="k">\       </span>)<span class="k">\/\\</span>       (<span class="p">__</span>)<span class="k">\       </span>)<span class="k">\/\\</span>
                 ||----w |               ||----w |               ||----w |
                 ||     ||               ||     ||               ||     ||
<span class="nt">\end{filecontents}</span>

<span class="nt">\begin{document}</span>

<span class="nt">\begin{figure}</span>[h!]
	<span class="k">\centering</span>
	<span class="nt">\begin{varwidth}</span><span class="p">{</span><span class="k">\linewidth</span><span class="p">}</span>
		<span class="k">\verbfilenobox</span><span class="na">[\fontsize{10pt}{10pt}\selectfont]</span><span class="p">{</span>art.txt<span class="p">}</span>
	<span class="nt">\end{varwidth}</span>
	<span class="k">\caption</span><span class="p">{</span>A text-based visual art.<span class="p">}</span>
<span class="nt">\end{figure}</span>

<span class="nt">\begin{figure}</span>[h!]
	<span class="k">\resizebox</span><span class="p">{</span><span class="k">\linewidth</span><span class="p">}{</span>!<span class="p">}{</span><span class="k">\vbox</span><span class="p">{</span><span class="k">\verbfilenobox</span><span class="na">[\fontsize{10pt}{10pt}\selectfont]</span><span class="p">{</span>wide-art.txt<span class="p">}}}</span>
	<span class="k">\caption</span><span class="p">{</span>A wider text-based visual art.<span class="p">}</span>
<span class="nt">\end{figure}</span>

<span class="nt">\end{document}</span>
</code></pre>
<p>If the art is not wide enough to exceed the line width, use the first approach. The package <code>varwidth</code> is needed for the <code>varwidth</code> environment. Otherwise, use the second approach. The package <code>graphicx</code> is needed for the <code>\resizebox</code> command.</p>
<p>The command <code>\fontsize{10pt}{10pt}</code> is so that there is no baseline skip between lines. Usually the baseline skip messes with text-based arts.</p>
<p>If the art is large, I recommend using LuaLaTeX. Otherwise, you may encounter the error <samp>TeX capacity exceeded, sorry</samp>.</p>
<p>End result:</p>
<figure>
<img src="/assets/images/figures/2026-06-06-tex-text-art//sample.svg" class="dark-adaptive" style="width: 100%;" alt="Rendered result of the sample LaTeX code." />
<figcaption aria-hidden="true">Rendered result of the sample LaTeX code.</figcaption>
</figure>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="programming" /><category term="tex" /><summary type="html"><![CDATA[Using the <code>verbatimbox</code> package, one can include a text-based visual art in a figure in a document generated by LaTeX.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2026-06-06-tex-text-art.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2026-06-06-tex-text-art.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Ways of reducing mass rebuilds in Nix without changing Nix]]></title><link href="https://ulysseszh.github.io/programming/2026/04/16/reduce-nix-rebuild.html" rel="alternate" type="text/html" title="Ways of reducing mass rebuilds in Nix without changing Nix" /><published>2026-04-16T09:45:36-07:00</published><updated>2026-04-16T09:45:36-07:00</updated><id>https://ulysseszh.github.io/programming/2026/04/16/reduce-nix-rebuild</id><content type="html" xml:base="https://ulysseszh.github.io/programming/2026/04/16/reduce-nix-rebuild.html"><![CDATA[<h2 data-label="0.1" id="introduction">Introduction</h2>
<p>Nix as a software package manager is amazing in its reproducibility, the cost of which, however, is the problem of mass rebuilds. When a package gets an update, every package that depends on it, directly or indirectly, will be rebuilt. This means that even a small update can lead to conceptually unnecessary mass rebuilds involving thousands of packages or even much more if the update touches a package on which many packages depend, such as <code>glibc</code>. This imposes huge burden on all kinds of resources, such as CPU resources (compiling software is generally CPU intense), storage resources (different rebuilds of a software reside in different store paths), and network resources (all users of rebuilt packages have to redownload them from the binary caches).</p>
<p>Nixpkgs has staging branches to manage such mass rebuilds. Every update in Nixpkgs that triggers mass rebuilds will go through a staging process, which takes some time for it to be merged into the master branch. If updates that conceptually do not require mass rebuilds can actually be done without mass rebuilds, then they can be applied to the master branch much more quickly than going through the staging process.</p>
<p>This article aims at brainstorming some ways to reduce mass rebuilds without changing Nix itself. In other words, I will think of some ways in which we can refactor Nixpkgs or develop alternative package sets to avoid some mass rebuilds without switching to another implementation of Nix language or ditching Nix altogether.</p>
<p>The most common kinds of dependencies between Nix derivations are:</p>
<ol type="1">
<li>The output of the dependent derivation includes the out path of the depended derivation. This happens when you use <code>autoPatchelf</code> and <code>patchShebangs</code>.</li>
<li>Besides the point above, the builder of the dependent derivation actually also needs to look at the file contents of the output of the depended derivation. This happens when you compile a software against the depended library.</li>
<li>The builder of the dependent derivation runs executables or calls functions in the depended derivation. This happens when the depended software is a compiler used to compile the dependent software.</li>
</ol>
<p class="no-indent">
I am going to try to pose some ideas to improve the situation for each of the three kinds of dependencies.
</p>
<h2 data-label="0.2" id="store-path-replacements">Store path replacements</h2>
<p>For the first kind of dependencies, conceptually there is absolutely no need to rebuild the dependent software. Building the dependent derivation is bound to succeed, and the result in the output will differ by nothing more than the updated store path of the depended derivation. Therefore, the idea to solve this is simple: instead of rebuilding the dependent derivation from scratch, simply substitute the store path in the output of the dependent derivation.</p>
<p>Now, let us take a simple example. Assume that <code>foo_1</code> is a program that simply outputs <code>hello</code> to the standard output and that <code>foo_2</code> is a program that simply outputs <code>howdy</code> to the standard output. Assume that <code>bar</code> is simply a wrapper around <code>foo</code> made using <code>makeWrapper</code>. In the builder of <code>bar</code>, I will include a <code>sleep</code> command to simulate a time-consuming building process. An update in its dependent is then simulated as we switch from <code>foo = foo_1</code> to <code>foo = foo_2</code>. When you build <code>bar</code>, it will take you 5 seconds of waiting during the build. Then, when you switch to <code>foo = foo_2</code> and build <code>bar</code> again, it will take you another 5 seconds of waiting during the build, which is conceptually totally unnecessary because that part does not change for the <code>foo</code> update at all.</p>
<details>
<summary>
Supposed packaging in Nixpkgs
</summary>
<p>This is what it would look like if <code>bar</code> is packaged in Nixpkgs:</p>
<pre><code><span class="c"># bar.nix</span>
<span class="p">{</span>
	<span class="nv">lib</span><span class="p">,</span>
	<span class="nv">stdenv</span><span class="p">,</span>
	<span class="nv">writeShellScriptBin</span><span class="p">,</span>
	<span class="nv">makeWrapper</span><span class="p">,</span>
<span class="p">}:</span>

<span class="kd">let</span>
	<span class="nv">foo_1</span> <span class="o">=</span> <span class="nv">writeShellScriptBin</span> <span class="s2">"foo"</span> <span class="s2">"echo hello"</span><span class="p">;</span>
	<span class="nv">foo_2</span> <span class="o">=</span> <span class="nv">writeShellScriptBin</span> <span class="s2">"foo"</span> <span class="s2">"echo howdy"</span><span class="p">;</span>
	<span class="nv">foo</span> <span class="o">=</span> <span class="nv">foo_1</span><span class="p">;</span>
<span class="kn">in</span>
<span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
	<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"bar"</span><span class="p">;</span>
	<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>

	<span class="nv">dontUnpack</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>

	<span class="nv">nativeBuildInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">makeWrapper</span> <span class="p">];</span>

	<span class="nv">buildPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">		runHook preBuild</span><span class="err">
</span><span class="s2">		sleep 5 # simulate a time-consuming building process</span><span class="err">
</span><span class="s2">		runHook postBuild</span><span class="err">
</span><span class="s2">	''</span><span class="p">;</span>

	<span class="nv">installPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">		runHook preInstall</span><span class="err">
</span><span class="s2">		makeWrapper </span><span class="si">${</span><span class="nv">lib</span><span class="o">.</span><span class="nv">getExe</span> <span class="nv">foo</span><span class="si">}</span><span class="s2"> $out/bin/bar</span><span class="err">
</span><span class="s2">		runHook postInstall</span><span class="err">
</span><span class="s2">	''</span><span class="p">;</span>

	<span class="nv">meta</span><span class="o">.</span><span class="nv">mainProgram</span> <span class="o">=</span> <span class="s2">"bar"</span><span class="p">;</span>
<span class="p">}</span>
</code></pre>
<p class="no-indent">
To build it, run
</p>
<pre><code>nix-build <span class="nt">-E</span> <span class="s1">'(import &lt;nixpkgs&gt; {}).callPackage ./bar.nix {}'</span>
</code></pre>
<p class="no-indent">
After that, you can run <code>bar</code> by running <code>result/bin/bar</code>.
</p>
</details>
<p>How can we prevent this rebuild? We can have an intermediate derivation <code>barWithStub</code>, which references the out path of a derivation <code>fooStub</code> instead of <code>foo</code>. Because <code>fooStub</code> does not care about <code>foo</code>, neither does <code>barWithStub</code>. Then, the builder of <code>bar</code> then takes everything from the output of <code>barWithStub</code>, and replace the store path of <code>fooStub</code> with that of <code>foo</code>.</p>
<details>
<summary>
Implementation
</summary>
<p>Here is an implementation of this idea:</p>
<pre><code><span class="c"># bar.nix</span>
<span class="p">{</span>
	<span class="nv">lib</span><span class="p">,</span>
	<span class="nv">stdenv</span><span class="p">,</span>
	<span class="nv">writeScriptBin</span><span class="p">,</span>
	<span class="nv">writeShellScriptBin</span><span class="p">,</span>
	<span class="nv">makeWrapper</span><span class="p">,</span>
<span class="p">}:</span>

<span class="kd">let</span>
	<span class="nv">fooStub</span> <span class="o">=</span> <span class="nv">writeScriptBin</span> <span class="s2">"foo"</span> <span class="s2">""</span><span class="p">;</span>

	<span class="nv">foo_1</span> <span class="o">=</span> <span class="nv">writeShellScriptBin</span> <span class="s2">"foo"</span> <span class="s2">"echo hello"</span><span class="p">;</span>
	<span class="nv">foo_2</span> <span class="o">=</span> <span class="nv">writeShellScriptBin</span> <span class="s2">"foo"</span> <span class="s2">"echo howdy"</span><span class="p">;</span>
	<span class="nv">foo</span> <span class="o">=</span> <span class="nv">foo_1</span><span class="p">;</span>

	<span class="nv">barWithStub</span> <span class="o">=</span> <span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
		<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"bar"</span><span class="p">;</span>
		<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>

		<span class="nv">dontUnpack</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>

		<span class="nv">nativeBuildInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">makeWrapper</span> <span class="p">];</span>

		<span class="nv">buildPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">			runHook preBuild</span><span class="err">
</span><span class="s2">			sleep 5 # simulate a time-consuming building process</span><span class="err">
</span><span class="s2">			runHook postBuild</span><span class="err">
</span><span class="s2">		''</span><span class="p">;</span>

		<span class="nv">installPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">			runHook preInstall</span><span class="err">
</span><span class="s2">			makeWrapper </span><span class="si">${</span><span class="nv">lib</span><span class="o">.</span><span class="nv">getExe</span> <span class="nv">fooStub</span><span class="si">}</span><span class="s2"> $out/bin/bar</span><span class="err">
</span><span class="s2">			runHook postInstall</span><span class="err">
</span><span class="s2">		''</span><span class="p">;</span>

		<span class="nv">meta</span><span class="o">.</span><span class="nv">mainProgram</span> <span class="o">=</span> <span class="s2">"bar"</span><span class="p">;</span>
	<span class="p">};</span>
<span class="kn">in</span>
<span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
	<span class="kn">inherit</span> <span class="p">(</span><span class="nv">barWithStub</span><span class="p">)</span> <span class="nv">pname</span> <span class="nv">version</span> <span class="nv">meta</span><span class="p">;</span>
	<span class="nv">dontUnpack</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>

	<span class="nv">installPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">		runHook preInstall</span><span class="err">
</span><span class="s2">		cp -ar </span><span class="si">${</span><span class="nv">barWithStub</span><span class="si">}</span><span class="s2"> $out</span><span class="err">
</span><span class="s2">		chmod +w $out/bin/bar</span><span class="err">
</span><span class="s2">		substituteInPlace $out/bin/bar --replace-fail </span><span class="si">${</span><span class="nv">fooStub</span><span class="si">}</span><span class="s2"> </span><span class="si">${</span><span class="nv">foo</span><span class="si">}</span><span class="err">
</span><span class="s2">		runHook postInstall</span><span class="err">
</span><span class="s2">	''</span><span class="p">;</span>
<span class="p">}</span>
</code></pre>
<p>It still needs some polishing because the package as it is right now cannot have overridden attributes. However, you can easily fix it by exposing <code>barWithStub</code> in <code>bar.passthru</code>. The fully polished packaging is not important here as this code snippet already presents my idea neatly.</p>
<p>The code snippet also looks a bit redundant with boilerplate codes, but we can fix this by defining a packaging helper function to remove the common codes. We can also add a feature to <code>makeWrapper</code> to let it write something to <code>$out/nix-support</code> of the intermediate package with stub to instruct the builder of the final package about where and what the stub store paths are.</p>
</details>
<p>Notice that for cases resembling this specific example, there is actually another pattern commonly used in Nixpkgs, which is to have an intermediate package called <code>bar-unwrapped</code>, which does not use <code>makeWrapper</code> in its install phase. The final package <code>bar</code> is a <code>symlinkJoin</code> that takes the unwrapped intermediate package into its output through symbolic links instead of copying, and it has <code>makeWrapper</code> in its builder. This approach is better for this example for two reasons: (1) it saves the operation of copying the entire output of the intermediate package, which can be heavy on disk IO; (2) it does not require users consuming the binary caches to download the entire store path if the unwrapped package does not change. However, the approach of substituting stub store paths can be extended to more use cases than <code>makeWrapper</code>, notably those with <code>autoPatchelf</code> and <code>patchShebangs</code>. A natural thought is to combine the advantages of the two: use symbolic links for files that do not contain stub store paths and copy files that contain stub store paths. This interesting approach, however, has its own downsides: (1) it makes the stub derivation included in the closure of the final package; (2) it takes up more space than both alternatives if the copied files take up most of the space.</p>
<p>As a side note, it is actually a separate problem that a user consuming binary caches has to download entire store paths for what could be very small changes from store paths that already exist on the user’s machine. There is a <a href="https://alternativebit.fr/posts/nixos/future-of-nix-substitution" target="_blank" rel="external">blog article</a> by <a href="https://alternativebit.fr" target="_blank" rel="external">PicNoir</a> that explores how Nix may be improved to solve this very problem.</p>
<h2 data-label="0.3" id="separating-compiling-and-linking">Separating compiling and linking</h2>
<p>It sounds completely reasonable that a software should be rebuilt when the library it depends on gets an update. However, a certain fact makes this statement only half-true: building a software from its source code actually involves two steps, compiling and linking. What compiling needs from the depended library is only the header files, and what linking needs from the depended library is only the library files. The catch is that, in most cases, the resources taken in the build phase are dominantly taken by the compiling, but the library files are often the only files that get updated.</p>
<p>This observation is especially important for indirect dependencies. Supose that <code>foo</code> and <code>bar</code> are libraries, where <code>bar</code> depends on <code>foo</code>, and that <code>baz</code> is a program that depends on <code>bar</code>. When <code>foo</code> gets an update, <code>bar</code> is rebuilt. However, because <code>bar</code> does not get an update, its header files do not change, so <code>baz</code> does not need to be recompiled. However, how people typically package <code>baz</code> in Nixpkgs will make it have to recompile whenever <code>foo</code> gets an update.</p>
<details>
<summary>
Supposed packaging in Nixpkgs
</summary>
<p>First, I will give the source codes of <code>foo</code>, <code>bar</code>, and <code>baz</code>. For simplicity, they will be very simple: <code>foo</code> contains a function <code>kat</code>; <code>bar</code> contains a function <code>mar</code> that returns the return value of <code>kat</code>; and <code>baz</code> has a <code>main</code> function that returns the return value of <code>mar</code>. After that, I will give the Nix code that packages them.</p>
<pre><code><span class="c1">// foo/foo.h</span>
<span class="cp">#ifndef FOO_H
#define FOO_H
#ifndef FOO_VERSION
#define FOO_VERSION 1
#endif
</span><span class="kt">int</span> <span class="nf">kat</span><span class="p">();</span>
<span class="cp">#endif
</span></code></pre>
<pre><code><span class="c1">// foo/foo.c</span>
<span class="cp">#include</span> <span class="cpf">"foo.h"</span><span class="cp">
</span><span class="kt">int</span> <span class="nf">kat</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="n">FOO_VERSION</span><span class="p">;</span> <span class="p">}</span>
</code></pre>
<pre><code><span class="c"># foo/Makefile
</span><span class="nl">libfoo.so</span><span class="o">:</span> <span class="nf">foo.o</span>
	<span class="p">$(</span>CC<span class="p">)</span> <span class="nt">-shared</span> <span class="nt">-o</span> libfoo.so foo.o

<span class="nl">foo.o</span><span class="o">:</span>
	<span class="p">$(</span>CC<span class="p">)</span> <span class="nt">-c</span> foo.c <span class="nt">-o</span> foo.o

<span class="nl">install</span><span class="o">:</span> <span class="nf">install-lib install-include</span>

<span class="nl">install-lib</span><span class="o">:</span> <span class="nf">libfoo.so</span>
	<span class="nb">install</span> <span class="nt">-Dm644</span> libfoo.so <span class="nt">-t</span> <span class="p">$(</span>out<span class="p">)</span>/lib

<span class="nl">install-include</span><span class="o">:</span>
	<span class="nb">install</span> <span class="nt">-Dm644</span> foo.h <span class="nt">-t</span> <span class="p">$(</span>out<span class="p">)</span>/include
</code></pre>
<pre><code><span class="c1">// bar/bar.h</span>
<span class="cp">#ifndef BAR_H
#define BAR_H
</span><span class="kt">int</span> <span class="nf">mar</span><span class="p">();</span>
<span class="cp">#endif
</span></code></pre>
<pre><code><span class="c1">// bar/bar.c</span>
<span class="cp">#include</span> <span class="cpf">"bar.h"</span><span class="cp">
#include</span> <span class="cpf">&lt;foo.h&gt;</span><span class="cp">
</span><span class="kt">int</span> <span class="nf">mar</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="n">kat</span><span class="p">();</span> <span class="p">}</span>
</code></pre>
<pre><code><span class="c"># bar/Makefile
</span><span class="nl">libbar.so</span><span class="o">:</span> <span class="nf">bar.o</span>
	<span class="p">$(</span>CC<span class="p">)</span> <span class="nt">-shared</span> <span class="nt">-o</span> libbar.so bar.o <span class="nt">-lfoo</span>

<span class="nl">bar.o</span><span class="o">:</span>
	<span class="p">$(</span>CC<span class="p">)</span> <span class="nt">-c</span> bar.c <span class="nt">-o</span> bar.o

<span class="nl">install</span><span class="o">:</span> <span class="nf">install-include install-lib</span>

<span class="nl">install-lib</span><span class="o">:</span> <span class="nf">libbar.so</span>
	<span class="nb">install</span> <span class="nt">-Dm644</span> libbar.so <span class="nt">-t</span> <span class="p">$(</span>out<span class="p">)</span>/lib

<span class="nl">install-include</span><span class="o">:</span>
	<span class="nb">install</span> <span class="nt">-Dm644</span> bar.h <span class="nt">-t</span> <span class="p">$(</span>out<span class="p">)</span>/include
</code></pre>
<pre><code><span class="c1">// baz/baz.c</span>
<span class="cp">#include</span> <span class="cpf">&lt;bar.h&gt;</span><span class="cp">
</span><span class="kt">int</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span> <span class="k">return</span> <span class="n">mar</span><span class="p">();</span> <span class="p">}</span>
</code></pre>
<pre><code><span class="c"># baz/Makefile
</span><span class="nl">baz</span><span class="o">:</span> <span class="nf">baz.o</span>
	<span class="p">$(</span>CC<span class="p">)</span> <span class="nt">-o</span> baz baz.o <span class="nt">-lbar</span>

<span class="nl">baz.o</span><span class="o">:</span>
	<span class="p">$(</span>CC<span class="p">)</span> <span class="nt">-c</span> baz.c <span class="nt">-o</span> baz.o
	<span class="nb">sleep </span>5 <span class="c"># simulate time-consuming building process</span>

<span class="nl">install</span><span class="o">:</span> <span class="nf">baz</span>
	<span class="nb">install</span> <span class="nt">-Dm755</span> baz <span class="nt">-t</span> <span class="p">$(</span>out<span class="p">)</span>/bin
</code></pre>
<pre><code><span class="c"># baz.nix</span>
<span class="p">{</span> <span class="nv">stdenv</span> <span class="p">}:</span>

<span class="kd">let</span>
	<span class="nv">foo_1</span> <span class="o">=</span> <span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
		<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"foo"</span><span class="p">;</span>
		<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>
		<span class="nv">src</span> <span class="o">=</span> <span class="sx">./foo</span><span class="p">;</span>
		<span class="nv">outputs</span> <span class="o">=</span> <span class="p">[</span> <span class="s2">"out"</span> <span class="s2">"dev"</span> <span class="p">];</span>
	<span class="p">};</span>
	<span class="nv">foo_2</span> <span class="o">=</span> <span class="nv">foo_1</span><span class="o">.</span><span class="nv">overrideAttrs</span> <span class="p">{</span> <span class="nv">NIX_CFLAGS_COMPILE</span> <span class="o">=</span> <span class="p">[</span> <span class="s2">"-DFOO_VERSION=2"</span> <span class="p">];</span> <span class="p">};</span>
	<span class="nv">foo</span> <span class="o">=</span> <span class="nv">foo_2</span><span class="p">;</span>

	<span class="nv">bar</span> <span class="o">=</span> <span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
		<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"bar"</span><span class="p">;</span>
		<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>
		<span class="nv">src</span> <span class="o">=</span> <span class="sx">./bar</span><span class="p">;</span>
		<span class="nv">buildInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">foo</span> <span class="p">];</span>
		<span class="nv">outputs</span> <span class="o">=</span> <span class="p">[</span> <span class="s2">"out"</span> <span class="s2">"dev"</span> <span class="p">];</span>
	<span class="p">};</span>

<span class="kn">in</span>
<span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
	<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"baz"</span><span class="p">;</span>
	<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>
	<span class="nv">src</span> <span class="o">=</span> <span class="sx">./baz</span><span class="p">;</span>
	<span class="nv">buildInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">bar</span> <span class="p">];</span>
	<span class="nv">meta</span><span class="o">.</span><span class="nv">mainProgram</span> <span class="o">=</span> <span class="s2">"baz"</span><span class="p">;</span>
<span class="p">}</span>
</code></pre>
<p class="no-indent">
Build <code>baz</code> by running
</p>
<pre><code>nix-build <span class="nt">-E</span> <span class="s1">'(import &lt;nixpkgs&gt; {}).callPackage ./baz.nix {}'</span>
</code></pre>
<p class="no-indent">
and then you can run <code>result/bin/baz</code>. It will immediately terminate with exit code <code>1</code>. If you switch from <code>foo = foo_1</code> to <code>foo = foo_2</code> and build <code>baz</code> after that, <code>baz</code> will be recompiled, and <code>result/bin/baz</code> now will terminate with exit code <code>2</code>.
</p>
<p>Note that this is very bare-bone and overlooks a lot of things. For example, using <code>pkgsStatic.callPackage</code> on it will not work.</p>
</details>
<p>However, in principle, we should be able to skip recompiling <code>baz</code> when <code>foo</code> updates because compiling <code>baz</code> only needs the header files of <code>bar</code>. We can have an intermediate derivation <code>bazObj</code>, whose builder only compiles but not links <code>baz</code>, and the derivation output is the unlinked object files. The final package <code>baz</code> then uses <code>bazObj</code> as an input and produces the linked binaries. The input of <code>bazObj</code> consists of <code>baz.src</code> and <code>bar.dev</code>, and the input of <code>baz</code> consists of <code>bazObj</code> and <code>bar.out</code> (we are assuming <code>bar</code> has two outputs <code>dev</code> and <code>out</code>, respectively containing the header files and the library files).</p>
<p>There is still one problem here, though, which is that a change in <code>foo</code> will lead to a change in <code>bar.dev</code> for two reasons: (1) Nix derivations are input-addressed but not content-address, which means that even if the contents of <code>bar.dev</code> does not change, it is still a different derivation if the input <code>foo</code> changes; (2) the default fixup phase of <code>stdenv.mkDerivation</code> in Nixpkgs will put <code>bar.out</code>, which helplessly has to reference <code>foo</code>, in the propagated build inputs of <code>bar.dev</code>. Therefore, instead of relying on the default fixup phase of <code>stdenv.mkDerivation</code> in Nixpkgs to create <code>bar.dev</code> for us, we have to write our own implementation so that it does not reference <code>foo</code> directly or indirectly.</p>
<details>
<summary>
Implementation
</summary>
<pre><code><span class="c"># baz.nix</span>
<span class="p">{</span> <span class="nv">stdenv</span> <span class="p">}:</span>

<span class="kd">let</span>
	<span class="nv">foo_1</span> <span class="o">=</span> <span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
		<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"foo"</span><span class="p">;</span>
		<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>
		<span class="nv">src</span> <span class="o">=</span> <span class="sx">./foo</span><span class="p">;</span>
		<span class="nv">outputs</span> <span class="o">=</span> <span class="p">[</span> <span class="s2">"out"</span> <span class="s2">"dev"</span> <span class="p">];</span>
	<span class="p">};</span>
	<span class="nv">foo_2</span> <span class="o">=</span> <span class="nv">foo_1</span><span class="o">.</span><span class="nv">overrideAttrs</span> <span class="p">{</span> <span class="nv">NIX_CFLAGS_COMPILE</span> <span class="o">=</span> <span class="p">[</span> <span class="s2">"-DFOO_VERSION=2"</span> <span class="p">];</span> <span class="p">};</span>
	<span class="nv">foo</span> <span class="o">=</span> <span class="nv">foo_1</span><span class="p">;</span>

	<span class="nv">bar</span> <span class="o">=</span> <span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">(</span><span class="nv">finalAttrs</span><span class="p">:</span> <span class="p">{</span>
		<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"bar"</span><span class="p">;</span>
		<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>
		<span class="nv">src</span> <span class="o">=</span> <span class="sx">./bar</span><span class="p">;</span>
		<span class="nv">buildInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">foo</span> <span class="p">];</span>
		<span class="nv">installTargets</span> <span class="o">=</span> <span class="p">[</span> <span class="s2">"install-lib"</span> <span class="p">];</span>
		<span class="nv">passthru</span><span class="o">.</span><span class="nv">dev</span> <span class="o">=</span> <span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
			<span class="kn">inherit</span> <span class="p">(</span><span class="nv">finalAttrs</span><span class="p">)</span> <span class="nv">pname</span> <span class="nv">version</span> <span class="nv">src</span><span class="p">;</span>
			<span class="nv">dontBuild</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
			<span class="nv">installTargets</span> <span class="o">=</span> <span class="s2">"install-include"</span><span class="p">;</span>
		<span class="p">};</span>
	<span class="p">});</span>

	<span class="nv">bazObj</span> <span class="o">=</span> <span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
		<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"baz"</span><span class="p">;</span>
		<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>
		<span class="nv">src</span> <span class="o">=</span> <span class="sx">./baz</span><span class="p">;</span>
		<span class="nv">buildInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">bar</span><span class="o">.</span><span class="nv">dev</span> <span class="p">];</span>
		<span class="nv">buildPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">			runHook preInstall</span><span class="err">
</span><span class="s2">			make baz.o SHELL="$SHELL"</span><span class="err">
</span><span class="s2">			runHook postInstall</span><span class="err">
</span><span class="s2">		''</span><span class="p">;</span>
		<span class="nv">installPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">			runHook preInstall</span><span class="err">
</span><span class="s2">			install -Dm644 baz.o Makefile -t $out</span><span class="err">
</span><span class="s2">			runHook postInstall</span><span class="err">
</span><span class="s2">		''</span><span class="p">;</span>
	<span class="p">};</span>

<span class="kn">in</span>
<span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
	<span class="kn">inherit</span> <span class="p">(</span><span class="nv">bazObj</span><span class="p">)</span> <span class="nv">pname</span> <span class="nv">version</span><span class="p">;</span>
	<span class="nv">src</span> <span class="o">=</span> <span class="nv">bazObj</span><span class="p">;</span>
	<span class="nv">buildInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">bar</span><span class="o">.</span><span class="nv">out</span> <span class="p">];</span>
	<span class="nv">meta</span> <span class="o">=</span> <span class="nv">bazObj</span><span class="o">.</span><span class="nv">meta</span> <span class="o">//</span> <span class="p">{</span> <span class="nv">mainProgram</span> <span class="o">=</span> <span class="s2">"baz"</span><span class="p">;</span> <span class="p">};</span>
<span class="p">}</span>
</code></pre>
<p>Notice that you have to use <code>bar.out</code> instead of just <code>bar</code> in <code>buildInputs</code> of <code>baz</code> because <code>stdenv.mkDerivation</code> “cleverly” selects <code>bar.dev</code> when it sees <code>bar</code> in <code>buildInputs</code>.</p>
<p>Again, this packaging needs some further polishing, but it explains the idea of separating compiling and linking. You may try switching from <code>foo = foo_1</code> to <code>foo = foo_2</code>, and <code>baz</code> will only be compiled once.</p>
</details>
<p>This looks good, but here is the bad news: none of GNU Autotools, pkg-config, or CMake is designed with the idea that compiling and linking may happen in different environments. The configure script typically tries to compile and link small programs to test whether the build environment has all the required header files and library files. If compiling and linking are in separate environments, we really need two different configure scripts, one for checking compilers and header files and the other for checking linkers and library files. The problem about pkg-config is that the <code>.pc</code> files contain information about both the header files and the library files. Then, since <code>libbar.pc</code> has to live in <code>bar.dev</code>, this means that <code>bar.dev</code> has to reference <code>bar.out</code> and ultimately references <code>foo</code>. As for CMake, it is possible to patch CMake to ask it to always look for <code>INTERFACE</code> libraries whenever the CMake script uses <code>add_library</code> and have the properties <code>INTERFACE_INCLUDE_DIRECTORIES</code> or <code>IMPORTED_LOCATION</code> defined according to whether it is in the compiling builder or the linking builder. However, this is still a mess and requires workarounds on a case-by-case basis.</p>
<p>The only way to solve this problem is again using stubs. This time, the stub derivations are much more complicated than the ones for simple store path replacements. This time, the stub derivations have to have libraries that actually contains the symbols against which the linker can link the object files. If there were a tool that can generate stub libraries from header files, a generally useful definition of such stub derivations could in principle be implemented. However, considering the diversity of header files in C/C++ header files, such a tool is very hard to implement. If we do not restrict ourselves to keeping Nix unchanged, however, there is a way out of this: making Nix store paths content-addressed instead of input-addressed. Generating stubs from header files is difficult, but generating stubs from library files is much easier. Although the library files change when some dependency updates, the stubs generated from the library files will not change. If Nix store paths were content-addressed, this would be an ideal way of generating and using stub libraries.</p>
<h2 data-label="0.4" id="ditching-check-phases">Ditching check phases</h2>
<p>At first glance, it seems that it cannot be helped if a depended software actually runs in the dependent builder. However, a lot of such dependencies that cause mass rebuilds are actually only for tests, used in the check phase, especially things like <code>gtest</code>. Changes in such depended packages usually do not change the output of the dependent derivation. Conceptually, if a tool used for testing gets an update, we do not have to rebuild a software that uses it for tests but only have to test the built software again with the new test tools.</p>
<p>Take a simple example here again. Let us say <code>foo</code> is a test helper that compares the standard output of an executable with an expected value, and <code>bar</code> is a very simple program that outputs <code>hello</code> to the standard output. In the install check phase of <code>bar</code>, we use <code>foo</code> to test that the output of the executable is indeed <code>hello</code>. Typically for this case, in Nixpkgs, <code>foo</code> enters the <code>nativeInstallCheckInputs</code> of <code>bar</code>, so <code>bar</code> needs a rebuild when <code>foo</code> updates.</p>
<details>
<summary>
Supposed packaging in Nixpkgs
</summary>
<pre><code><span class="c"># bar.nix</span>
<span class="p">{</span>
	<span class="nv">stdenv</span><span class="p">,</span>
	<span class="nv">writeShellScriptBin</span><span class="p">,</span>
	<span class="nv">runtimeShell</span><span class="p">,</span>
<span class="p">}:</span>

<span class="kd">let</span>
	<span class="nv">foo_1</span> <span class="o">=</span> <span class="nv">writeShellScriptBin</span> <span class="s2">"foo"</span> <span class="s2">"[ `$1` = $2 ]"</span><span class="p">;</span>
	<span class="nv">foo_2</span> <span class="o">=</span> <span class="nv">writeShellScriptBin</span> <span class="s2">"foo"</span> <span class="s2">"[[ `$1` == $2 ]]"</span><span class="p">;</span>
	<span class="nv">foo</span> <span class="o">=</span> <span class="nv">foo_1</span><span class="p">;</span>
<span class="kn">in</span>
<span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
	<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"bar"</span><span class="p">;</span>
	<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>
	<span class="nv">dontUnpack</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>

	<span class="nv">buildPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">		runHook preBuild</span><span class="err">
</span><span class="s2">		sleep 5 # simulate time-consuming building process</span><span class="err">
</span><span class="s2">		runHook postBuild</span><span class="err">
</span><span class="s2">	''</span><span class="p">;</span>

	<span class="nv">installPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">		runHook preInstall</span><span class="err">
</span><span class="s2">		mkdir -p $out/bin</span><span class="err">
</span><span class="s2">		echo '#!</span><span class="si">${</span><span class="nv">runtimeShell</span><span class="si">}</span><span class="s2">' &gt; $out/bin/bar</span><span class="err">
</span><span class="s2">		echo 'echo hello' &gt;&gt; $out/bin/bar</span><span class="err">
</span><span class="s2">		chmod +x $out/bin/bar</span><span class="err">
</span><span class="s2">		runHook postInstall</span><span class="err">
</span><span class="s2">	''</span><span class="p">;</span>

	<span class="nv">doInstallCheck</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>
	<span class="nv">nativeInstallCheckInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">foo</span> <span class="p">];</span>
	<span class="nv">installCheckPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">		runHook preInstallCheck</span><span class="err">
</span><span class="s2">		foo $out/bin/bar hello</span><span class="err">
</span><span class="s2">		runHook postInstallCheck</span><span class="err">
</span><span class="s2">	''</span><span class="p">;</span>
<span class="p">}</span>
</code></pre>
<p class="no-indent">
To build it, run
</p>
<pre><code>nix-build <span class="nt">-E</span> <span class="s1">'(import &lt;nixpkgs&gt; {}).callPackage ./bar.nix {}'</span>
</code></pre>
<p class="no-indent">
After that, you can run <code>bar</code> by running <code>result/bin/bar</code>. Observe that <code>bar</code> needs rebuilding when you switch from <code>foo = foo_1</code> to <code>foo = foo_2</code>.
</p>
</details>
<p>For this example, preventing rebuilding is very simple: simply remove the install check phase. However, tests are still important, so we still need to include them somewhere. Fortunately, people conventionally put such tests in <code>passthru.tests</code> for this very purpose. Therefore, all we have to do is to put the tests in <code>passthru.tests</code> instead.</p>
<details>
<summary>
Implementation
</summary>
<pre><code><span class="c"># bar.nix</span>
<span class="p">{</span>
	<span class="nv">stdenv</span><span class="p">,</span>
	<span class="nv">writeShellScriptBin</span><span class="p">,</span>
	<span class="nv">runtimeShell</span><span class="p">,</span>
	<span class="nv">runCommand</span><span class="p">,</span>
<span class="p">}:</span>

<span class="kd">let</span>
	<span class="nv">foo_1</span> <span class="o">=</span> <span class="nv">writeShellScriptBin</span> <span class="s2">"foo"</span> <span class="s2">"[ `$1` = $2 ]"</span><span class="p">;</span>
	<span class="nv">foo_2</span> <span class="o">=</span> <span class="nv">writeShellScriptBin</span> <span class="s2">"foo"</span> <span class="s2">"[[ `$1` == $2 ]]"</span><span class="p">;</span>
	<span class="nv">foo</span> <span class="o">=</span> <span class="nv">foo_1</span><span class="p">;</span>

	<span class="nv">bar</span> <span class="o">=</span> <span class="nv">stdenv</span><span class="o">.</span><span class="nv">mkDerivation</span> <span class="p">{</span>
		<span class="nv">pname</span> <span class="o">=</span> <span class="s2">"bar"</span><span class="p">;</span>
		<span class="nv">version</span> <span class="o">=</span> <span class="s2">"1.0.0"</span><span class="p">;</span>
		<span class="nv">dontUnpack</span> <span class="o">=</span> <span class="kc">true</span><span class="p">;</span>

		<span class="nv">buildPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">			runHook preBuild</span><span class="err">
</span><span class="s2">			sleep 5 # simulate time-consuming building process</span><span class="err">
</span><span class="s2">			runHook postBuild</span><span class="err">
</span><span class="s2">		''</span><span class="p">;</span>

		<span class="nv">installPhase</span> <span class="o">=</span> <span class="s2">''</span><span class="err">
</span><span class="s2">			runHook preInstall</span><span class="err">
</span><span class="s2">			mkdir -p $out/bin</span><span class="err">
</span><span class="s2">			echo '#!</span><span class="si">${</span><span class="nv">runtimeShell</span><span class="si">}</span><span class="s2">' &gt; $out/bin/bar</span><span class="err">
</span><span class="s2">			echo 'echo hello' &gt;&gt; $out/bin/bar</span><span class="err">
</span><span class="s2">			chmod +x $out/bin/bar</span><span class="err">
</span><span class="s2">			runHook postInstall</span><span class="err">
</span><span class="s2">		''</span><span class="p">;</span>

		<span class="nv">passthru</span><span class="o">.</span><span class="nv">tests</span><span class="o">.</span><span class="nv">installCheck</span> <span class="o">=</span> <span class="nv">runCommand</span> <span class="s2">"bar-installCheck"</span> <span class="p">{</span>
			<span class="nv">nativeBuildInputs</span> <span class="o">=</span> <span class="p">[</span> <span class="nv">foo</span> <span class="nv">bar</span> <span class="p">];</span>
		<span class="p">}</span> <span class="s2">"foo bar hello &amp;&amp; touch $out"</span><span class="p">;</span>
	<span class="p">};</span>
<span class="kn">in</span> <span class="nv">bar</span>
</code></pre>
<p class="no-indent">
To run the test, run
</p>
<pre><code>nix-build <span class="nt">-E</span> <span class="s1">'((import &lt;nixpkgs&gt; {}).callPackage ./bar.nix {}).tests.installCheck'</span>
</code></pre>
<p>Now, <code>bar</code> does not need rebuilding when <code>foo</code> updates, but only <code>bar.tests.installCheck</code> needs rebuilding.</p>
</details>
<p>Moving the check phase to <code>passthru.tests</code>, however, is more difficult. The reason is that the configure script will disable the tests in <code>Makefile</code> if it cannot find the test dependencies. This, again, can be solved by using stub libraries for the test dependencies, but there is an easier solution. First, copy everything (configure script, source code, and built binaries) to the environment with test dependencies. Then, run the configure script again to generate a new <code>Makefile</code>. Then we can run the check phase. Hopefully, nowhere in the source code does it use test-related macros.</p>
<p>If we ditch the check phases and the install check phases and move all of them to <code>passthru.tests</code> like this, a lot of rebuilds can be avoided.</p>
<p>Notice that avoiding rebuilds due to test depenencies is also related to content-addressed derivations. In a content-addressed model, if <code>foo</code> is a test dependency of <code>bar</code>, and <code>bar</code> is a build dependency of <code>baz</code>, then <code>baz</code> does not need rebuilding if <code>foo</code> gets an update because it does not change the output of <code>bar</code>. However, <code>bar</code> still needs a rebuild, which is unnecessary if it does not use check phases and install check phases but use <code>passthru.tests</code>.</p>
<h2 data-label="0.5" id="conclusion">Conclusion</h2>
<p>I proposed some ways to reduce mass rebuilds without changing Nix. However, each of them has some downsides and requires major refactoring of Nixpkgs.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="programming" /><category term="nix" /><summary type="html"><![CDATA[One serious problem with Nix is the amount of mass rebuilds happening in Nixpkgs every time some package with many dependents gets an update. I thought about three ideas to reduce mass rebuilds: store path replacements, separating compiling and linking, and ditching check phases. Each of them has some degree of impracticality.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2026-04-16-reduce-nix-rebuild.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2026-04-16-reduce-nix-rebuild.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Determining the stabilizability of the abelian sandpile model]]></title><link href="https://ulysseszh.github.io/math/2026/01/03/sandpile-stabilizable.html" rel="alternate" type="text/html" title="Determining the stabilizability of the abelian sandpile model" /><published>2026-01-03T14:56:49-08:00</published><updated>2026-01-03T14:56:49-08:00</updated><id>https://ulysseszh.github.io/math/2026/01/03/sandpile-stabilizable</id><content type="html" xml:base="https://ulysseszh.github.io/math/2026/01/03/sandpile-stabilizable.html"><![CDATA[<h2 data-label="0.1" id="introduction">Introduction</h2>
<p>Suppose that we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> sandpiles denoted as a set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span>. Each sandpile <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">x\in V</annotation></semantics></math></span> has a <dfn>toppling threshold</dfn> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>∈</mo><msub><mi mathvariant="double-struck">R</mi><mrow><mo>&gt;</mo><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">\fc\tht x\in\bR_{&gt;0}</annotation></semantics></math></span>, and each ordered pair of sandpiles <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">x,x&#x27;\in V</annotation></semantics></math></span> has a <dfn>toppling transfer amount</dfn> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>∈</mo><msub><mi mathvariant="double-struck">R</mi><mrow><mo>≥</mo><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">\fc\alp{x,x&#x27;}\in\bR_{\ge0}</annotation></semantics></math></span>. The tuple <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>V</mi><mo separator="true">,</mo><mi>θ</mi><mo separator="true">,</mo><mi>α</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{V,\tht,\alp}</annotation></semantics></math></span> is called an <dfn>abelian sandpile model</dfn>.</p>
<p>A <dfn>configuration</dfn> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>:</mo><mi>x</mi><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\eta:x\to\bR</annotation></semantics></math></span> is to assign an amount of sand <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\eta x</annotation></semantics></math></span> to each sandpile <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">x\in V</annotation></semantics></math></span>, and it is <dfn>legal</dfn> if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\eta x\ge0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">x\in V</annotation></semantics></math></span> (or conveniently denoted as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\eta\ge0</annotation></semantics></math></span>). For any configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>, any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">y\in V</annotation></semantics></math></span> can <dfn>topple</dfn>, which is a transition to a new configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span> defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub><mo>+</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{\eta&#x27;}x\ceq\fc\eta x-\fc\tht y\dlt_{xy}+\fc\alp{y,x}.</annotation></semantics></math></span> The toppling is <dfn>legal</dfn> if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\eta y\ge\fc\tht y</annotation></semantics></math></span>, in which case we call <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> an <dfn>unstable</dfn> site of the configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>. Notice that a legal configuration undergoing a legal toppling must become a legal configuration. A sequence of topplings where each toppling uses the resultant configuration of the previous toppling as the initial configuration is called a <dfn>toppling procedure</dfn>.</p>
<p>In its historically original form (<a href="https://doi.org/10.1103/PhysRevLett.64.1613" target="_blank" rel="external">Dhar, 1990</a>), <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span> is the lattice sites on a 2D rectangular grid, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">\fc\tht x=4</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">x\in V</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp{x,x&#x27;}</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">x&#x27;</annotation></semantics></math></span> are nearest neighbors or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> otherwise. It is then generalized to an arbitrary directed multigraph (<a href="https://doi.org/10.1007/978-3-7643-8786-0_17" target="_blank" rel="external">Holroyd et al., 2008</a>), where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span> is its vertices, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht x</annotation></semantics></math></span> is the out-degree of vertex <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp{x,x&#x27;}</annotation></semantics></math></span> is the number of edges from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">x&#x27;</annotation></semantics></math></span>.</p>
<p>A configuration where none of the sandpiles can legally topple is called a <dfn>stable</dfn> configuration. In other words, configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> is stable if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\eta x&lt;\fc\tht x</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">x\in V</annotation></semantics></math></span>, or denoted as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>&lt;</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\eta&lt;\tht</annotation></semantics></math></span> in abbreviation. A toppling procedure that makes a configuration stable is called a <dfn>stabilizing</dfn> toppling procedure that stabilizes the configuration. A legal configuration is <dfn>stabilizable</dfn> if it has a finite legal stabilizing toppling procedure. Otherwise, the configuration is <dfn>exploding</dfn>. A natural question to ask then is how to determine whether a configuration is stabilizable or exploding.</p>
<h2 data-label="0.2" id="abelian-property">Abelian property</h2>
<p>One important fact to notice is that the abelian sandpile model has the so-called <dfn>abelian property</dfn>: if a configuration is stabilizable, then every legal toppling procedure of it is finite, and the stabilizing legal toppling procedure is unique up to the order of topplings. In other words, if we define the <dfn>toppling counting function</dfn> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>:</mo><mi>V</mi><mo>→</mo><mi mathvariant="double-struck">N</mi></mrow><annotation encoding="application/x-tex">u:V\to\bN</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc ux</annotation></semantics></math></span> is the number of times that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">x\in V</annotation></semantics></math></span> topples throughout the toppling procedure, then every legal stabilizing toppling procedure of a stabilizable configuration has the same toppling counting function, which is called the <dfn>odometer</dfn> of the configuration. We will leave the proof of the abelian property to a later part in this section.</p>
<p>In order to better describe the model, we can define a function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mo>:</mo><mi>V</mi><mo>×</mo><mi>V</mi><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\Dlt:V\times V\to\bR</annotation></semantics></math></span> (the notation comes from the notation of the Laplacian operator in vector analysis due to its direct analogy in the case of the abelian sandpile model on a grid, in which case it is called a Laplacian matrix in the language of graph theory) as follows: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub><mo>−</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\Dlt{x,y}=\fc\tht x\dlt_{xy}-\fc\alp{x,y}.</annotation></semantics></math></span> It encodes information from both <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span> and provides everything we need to know to find the resultant configuration given any initial configuration and the toppling counting function. Explicitly, configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> undergoing a toppling procedure with the toppling counting function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> becomes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><munder><mo>∑</mo><mi>y</mi></munder><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{\eta&#x27;}x=\fc\eta x-\sum_y\fc\Dlt{x,y}\fc uy.</annotation></semantics></math></span> For abbreviation, we denote <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>↦</mo><msub><mo>∑</mo><mi>y</mi></msub><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x\mapsto\sum_y\fc\Dlt{x,y}\fc uy</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi></mrow><annotation encoding="application/x-tex">\Dlt u</annotation></semantics></math></span> so that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mo>∑</mo><mi>y</mi></msub><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\Dlt u}x=\sum_y\fc\Dlt{x,y}\fc uy</annotation></semantics></math></span>. Therefore, the resultant configuration of a toppling procedure can be denoted as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi></mrow><annotation encoding="application/x-tex">\eta&#x27;=\eta-\Dlt u</annotation></semantics></math></span>. This notation is natural if we think of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> as an <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>-dimensional matrix and think of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>-dimensional column vectors. This equation tells us that the resultant configuration of two toppling procedures is the same as long as they have the same toppling counting function.</p>
<p>A toppling procedure can then be expressed as a sequence of toppling counting functions where the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span>th toppling counting function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>t</mi></msub></mrow><annotation encoding="application/x-tex">u_t</annotation></semantics></math></span> is that of the toppling procedure derived by truncating the full toppling procedure up to the first <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span> topplings. If the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span>th toppling happens at site <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>u</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>u</mi><mrow><mi>t</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{u_t}x-\fc{u_{t-1}}x=\dlt_{xy}.</annotation></semantics></math></span> We stipulate that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">u_0</annotation></semantics></math></span> is the zero function. From now on, we call a sequence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mrow><mo fence="true">{</mo><msub><mi>u</mi><mi>t</mi></msub><mo fence="true">}</mo></mrow><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><mi>T</mi></msubsup></mrow><annotation encoding="application/x-tex">\B{u_t}_{t=0}^T</annotation></semantics></math></span> (where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> is either a natural number or infinity) as a toppling procedure as long as the following conditions are satisfied: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>0</mn></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u_0=0</annotation></semantics></math></span>, and for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>≤</mo><mi>t</mi><mo>&lt;</mo><mi>T</mi></mrow><annotation encoding="application/x-tex">0\le t&lt;T</annotation></semantics></math></span>, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">y\in V</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>u</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\fc{u_{t+1}}x=\fc{u_t}x+\dlt_{xy}</annotation></semantics></math></span>. It is obvious to see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>x</mi></msub><msub><mi>u</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>t</mi></mrow><annotation encoding="application/x-tex">\sum_x\fc{u_t}x=t</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span>. Therefore, the length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> of a toppling procedure is the same as the sum <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>x</mi></msub><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_x\fc ux</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u\ceq u_T</annotation></semantics></math></span> is the final toppling counting function of the toppling procedure. The definition of the legality of a toppling procedure is also naturally extended to this formulation.</p>
<p>Because the resultant configuration of a toppling procedure is independent of the order of the topplings, for two different sites <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span>, toppling <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> and then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> is equivalent to toppling <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> and then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. Both toppling procedures have the same toppling counting function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub><mo>+</mo><msub><mi>δ</mi><mrow><mi>x</mi><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></msub></mrow><annotation encoding="application/x-tex">\dlt_{xy}+\dlt_{xy&#x27;}</annotation></semantics></math></span>. If both sites are unstable sites of the initial configuration, then both toppling procedures are legal. To see this, suppose that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> are two different unstable sites of the configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>. Then, the configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span> after <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> topples is given by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub><mo>+</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\eta&#x27;}x=\fc\eta x-\fc\tht y\dlt_{xy}+\fc\alp{y,x}</annotation></semantics></math></span>. Its value at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>=</mo><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>+</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo separator="true">,</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\eta&#x27;}{y&#x27;}=\fc\eta{y&#x27;}+\fc\alp{y,y&#x27;}</annotation></semantics></math></span> (notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>δ</mi><mrow><mi>y</mi><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\dlt_{yy&#x27;}=0</annotation></semantics></math></span> because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y\ne y&#x27;</annotation></semantics></math></span>). The first term is at least <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht{y&#x27;}</annotation></semantics></math></span> because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> is an unstable site of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>. The second term is nonnegative by definition. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>≥</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\eta&#x27;}{y&#x27;}\ge\fc\tht{y&#x27;}</annotation></semantics></math></span>, which means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> is also an unstable site of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span>, so toppling <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> and then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> is legal. By the same logic, toppling <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> and then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is legal.</p>
<p>Now, we proceed to prove the abelian property: a stabilizable configuration has a unique odometer. To prove this, it is sufficient to prove that, if a configuration is stabilizable, then you can always construct a legal stabilizing toppling procedure by choosing an arbitrary unstable site to topple at each step until the configuration becomes stable, which is guaranteed to happen in finite steps, and the resultant toppling counting function is independent of the choices of unstable sites to topple at each step.</p>
<p>We prove this by induction on the length of an arbitrary legal stabilizing toppling procedure. We will prove case by case for length being <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> as base cases, and then prove the inductive step for length being <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">T+1</annotation></semantics></math></span> assuming the case for length being <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">T\ge1</annotation></semantics></math></span>.</p>
<p>The base case with zero length is trivial. For the base case with length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>, suppose that the configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> has a legal stabilizing toppling procedure of length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>. We need to prove that any choice of unstable site to topple leads to a stable configuration, and the odometer is uniquely determined. Becasue the constraint on the length of the toppling procedure, we need to prove that the unstable site <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> in the initial configuration that topples in the legal stabilizing toppling procedure is the only unstable site in the initial configuration (so that the odometer can only be <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\fc ux=\dlt_{xy}</annotation></semantics></math></span>). This is obvious because we have already proven that, if there is another unstable site <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span>, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> is also an unstable site of the configuration after <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> topples, which contradicts the assumption that toppling <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is stabilizing.</p>
<p>Then proceed with the inductive part of the proof. Suppose that, for any configuration with a legal stabilizing toppling procedure of length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo>≥</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">T\ge1</annotation></semantics></math></span>, arbitrarily choosing an unstable site to topple at each step will always stabilize after exactly <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> steps, and the toppling counting function of the resultant toppling procedure is unique. Then, we need to prove the same thing for length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">T+1</annotation></semantics></math></span>. Suppose that configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> has a legal stabilizing toppling procedure of length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">T+1</annotation></semantics></math></span> and that its toppling counting function is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span>. Denote <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> as the first toppling site in this toppling procedure. Then, the configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span> after the first toppling is given by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub><mo>+</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\eta&#x27;}x=\fc\eta x-\fc\tht y\dlt_{xy}+\fc\alp{y,x}</annotation></semantics></math></span>, and it has a legal stabilizing toppling procedure of length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> whose toppling counting function is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\fc{u&#x27;}x=\fc ux-\dlt_{xy}</annotation></semantics></math></span>. By the induction assumption, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span> stabilizes after <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> arbitrary legal topplings, and the toppling counting function must be <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u&#x27;</annotation></semantics></math></span>. Now, arbitrarily choose an unstable site <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">y&#x27;=y</annotation></semantics></math></span>, then toppling <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span>, which stabilizes after <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> arbitrary legal topplings. If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo mathvariant="normal">≠</mo><mi>y</mi></mrow><annotation encoding="application/x-tex">y&#x27;\ne y</annotation></semantics></math></span>, then the fact that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> is an unstable site of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> implies that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> is an unstable site of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span>, so we can construct a legal stabilizing toppling procedure of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span> such that the first toppling site is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span>. We then get a legal stabilizing toppling procedure of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> whose toppling counting function is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> such that the first two toppling sites are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span>. Because both <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> are unstable sites of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>, we can simply swap the first two toppling sites to get a toppling procedure of
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> such that the first two toppling sites are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. This means that toppling <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> makes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> become a configuration with a legal stabilizing toppling procedure of length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> with toppling counting function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>δ</mi><mrow><mi>x</mi><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></msub></mrow><annotation encoding="application/x-tex">\fc ux-\dlt_{xy&#x27;}</annotation></semantics></math></span>. By the induction assumption, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> stabilizes after <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> topples followed by another <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> arbitrary topplings. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">y&#x27;</annotation></semantics></math></span> itself is an arbitrary choice of an unstable site, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> stabilizes after <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">T+1</annotation></semantics></math></span> arbitrary topplings, and the toppling counting function is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span>. This finishes the induction step of the proof.</p>
<h2 data-label="0.3" id="least-action-principle">Least action principle</h2>
<p>Another property of the abelian sandpile model is the <dfn>least action principle</dfn> <a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>: assuming that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is the odometer of a stabilizable configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>, then for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>:</mo><mi>V</mi><mo>→</mo><mi mathvariant="double-struck">N</mi></mrow><annotation encoding="application/x-tex">u&#x27;:V\to\bN</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>&lt;</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\eta-\Dlt u&#x27;&lt;\tht</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>≥</mo><mi>u</mi></mrow><annotation encoding="application/x-tex">u&#x27;\ge u</annotation></semantics></math></span>.</p>
<p>Here I present a proof inspired by <a href="https://doi.org/10.1007/s10955-009-9899-6" target="_blank" rel="external">Fey et al. (2009)</a>. Construct a legal toppling procedure starting from the configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> as follows. At each step where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>u</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>δ</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\fc{u_{t+1}}x=\fc{u_t}x+\dlt_{xy}</annotation></semantics></math></span>, the toppling site <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi mathvariant="normal">Δ</mi><msub><mi>u</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\eta y-\fc{\Dlt u_t}y\ge\fc\tht y</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{u_t}y&lt;\fc{u&#x27;}y</annotation></semantics></math></span>. When there are multiple sites satisfying the conditions, arbitrarily choose one. Continue until none of the sites satisfy the conditions, which always happen after finite steps because any toppling procedure of a stabilizable configuration is finite. This is a legal toppling procedure whose toppling counting function never exceeds <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u&#x27;</annotation></semantics></math></span>. Suppose that the length of the toppling procedure is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span>. We then prove by contradiction that this toppling procedure is stabilizing. Suppose that the final configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">\eta&#x27;=\eta-\Dlt u_T</annotation></semantics></math></span> of this toppling procedure has an unstable site <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>. Because the final configuration is unstable, the only reason that the toppling procedure stops is that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>T</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{u_T}y=\fc{u&#x27;}y</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u&#x27;&#x27;\ceq u&#x27;-u_T</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{u&#x27;&#x27;}y=0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u&#x27;&#x27;\ge0</annotation></semantics></math></span>. We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><msup><mi>u</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>+</mo><munder><mo>∑</mo><mi>x</mi></munder><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><msup><mi>u</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc\eta y-\fc{\Dlt u&#x27;}y
&amp;=\fc{\eta&#x27;}y-\fc{\Dlt u&#x27;&#x27;}y\\
&amp;=\fc{\eta&#x27;}y-\fc\tht y\fc{u&#x27;&#x27;}y+\sum_x\fc\alp{y,x}\fc{u&#x27;&#x27;}x\\
&amp;\ge\fc{\eta&#x27;}y\ge\fc\tht y,
\end{align*}</annotation></semantics></math></span> which contradicts the assumption that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is an unstable site of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span>.</p>
<p>What the least action principle tells us is that, the odemeter <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> of a stabilizable configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> is the unique minimum natural number solution to the system of linear inequalities <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&lt;</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\eta-\Dlt u&lt;\tht</annotation></semantics></math></span>. The toppling procedure defined above also provides a constructive way to find the odometer once we have any natural number solution to the system of linear inequalities.</p>
<p>Notice that we cannot relax <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u&#x27;</annotation></semantics></math></span> to be a more general real-valued function. If so, in the proof above, the condition <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{u&#x27;&#x27;}y=0</annotation></semantics></math></span> becomes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\fc{u&#x27;&#x27;}y&lt;1</annotation></semantics></math></span>. In fact, we can easily find counterexamples where, there exists a real-valued solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">u&#x27;</annotation></semantics></math></span> to the system of linear inequalities, but the configuration is exploding. This is sad news because it means that determining the stabilizability of a configuration cannot be done by linear programming.</p>
<p>A corollary of the least action principle is that, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&lt;</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\eta-\Dlt u&lt;\tht</annotation></semantics></math></span> has a natural number solution, then there exists a unique minimum solution, whose value at each site is the minimum among all natural number solutions at that site.</p>
<p>A related property is that, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>=</mo><msub><mi>u</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">u=u_1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>=</mo><msub><mi>u</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">u=u_2</annotation></semantics></math></span> both satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&lt;</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\eta-\Dlt u&lt;\tht</annotation></semantics></math></span>, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>=</mo><mi mathvariant="normal">min</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">u=\opc{min}{u_1,u_2}</annotation></semantics></math></span> also satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&lt;</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\eta-\Dlt u&lt;\tht</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">min</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal">min</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>u</mi><mn>1</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\opc{min}{u_1,u_2}}x\ceq\opc{min}{\fc{u_1}x,\fc{u_2}x}</annotation></semantics></math></span> denotes the pointwise minimum. This property also applies to general real-valued solutions instead of just natural number solutions. To prove this, assuming <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>1</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><msub><mi>u</mi><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{u_1}x\le\fc{u_2}x</annotation></semantics></math></span> without loss of generality, notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi mathvariant="normal">Δ</mi><mi mathvariant="normal">min</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>u</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><msub><mi>u</mi><mn>1</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><munder><mo>∑</mo><mi>y</mi></munder><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">min</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>u</mi><mn>1</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo><msub><mi>u</mi><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><msub><mi>u</mi><mn>1</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><munder><mo>∑</mo><mi>y</mi></munder><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msub><mi>u</mi><mn>1</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi mathvariant="normal">Δ</mi><msub><mi>u</mi><mn>1</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{\Dlt\opc{min}{u_1,u_2}}x
&amp;=\fc\tht x\fc{u_1}x-\sum_y\fc\alp{x,y}\opc{min}{\fc{u_1}y,\fc{u_2}y}\\
&amp;\ge\fc\tht x\fc{u_1}x-\sum_y\fc\alp{x,y}\fc{u_1}y\\
&amp;=\fc{\Dlt u_1}x.
\end{align*}</annotation></semantics></math></span> By this property, under the binary operator <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">min</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>⋅</mo><mo separator="true">,</mo><mo>⋅</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\opc{min}{\cdot,\cdot}</annotation></semantics></math></span>, the set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>P</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>u</mi><mo>:</mo><mi>V</mi><mo>→</mo><mi mathvariant="double-struck">R</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&lt;</mo><mi>θ</mi><mo separator="true">,</mo><mi>u</mi><mo>≥</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">P\ceq\set{u:V\to\bR}{\eta-\Dlt u&lt;\tht,u\ge0}</annotation></semantics></math></span> forms an idempotent commutative semigroup if not empty. Its closure <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mover accent="true"><mi>P</mi><mo stretchy="true">‾</mo></mover><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>u</mi><mo>:</mo><mi>V</mi><mo>→</mo><mi mathvariant="double-struck">R</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>≤</mo><mi>θ</mi><mo separator="true">,</mo><mi>u</mi><mo>≥</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\overline P\ceq\set{u:V\to\bR}{\eta-\Dlt u\le\tht,u\ge0}</annotation></semantics></math></span> is an idempotent commutative monoid if not empty, whose identity element is the unique minimum element of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline P</annotation></semantics></math></span>, which obviously exists. The set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>P</mi><mi mathvariant="double-struck">N</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>u</mi><mo>:</mo><mi>V</mi><mo>→</mo><mi mathvariant="double-struck">N</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&lt;</mo><mi>θ</mi><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">P_\bN\ceq\set{u:V\to\bN}{\eta-\Dlt u&lt;\tht}</annotation></semantics></math></span> is a subsemigroup of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>P</mi></mrow><annotation encoding="application/x-tex">P</annotation></semantics></math></span> and also a monoid if not empty. However, notice that the identity element of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi mathvariant="double-struck">N</mi></msub></mrow><annotation encoding="application/x-tex">P_\bN</annotation></semantics></math></span> is always different from that of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>P</mi><mo stretchy="true">‾</mo></mover></mrow><annotation encoding="application/x-tex">\overline P</annotation></semantics></math></span>.</p>
<h2 data-label="0.4" id="integer-linear-programming">Integer linear programming</h2>
<p>As we have seen, determining the stabilizability of a configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> is equivalent to determining whether there exists a natural number solution to the system of linear inequalities <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>−</mo><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&lt;</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\eta-\Dlt u&lt;\tht</annotation></semantics></math></span>. Such problems are called <dfn>integer linear programming (ILP)</dfn> problems.</p>
<p>The most general form of an ILP problem is, given a matrix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span> and vectors <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>b</mi></mrow><annotation encoding="application/x-tex">b</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math></span>, to find natural number vector <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> that minimizes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mi mathvariant="normal">T</mi></msup><mi>x</mi></mrow><annotation encoding="application/x-tex">c^\mrm Tx</annotation></semantics></math></span> subject to the constraint <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi>x</mi><mo>≤</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">Ax\le b</annotation></semantics></math></span>. There is also the feasibility version of ILP problems, which only asks whether there exists a natural number vector <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> satisfying the constraint <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi>x</mi><mo>≤</mo><mi>b</mi></mrow><annotation encoding="application/x-tex">Ax\le b</annotation></semantics></math></span> without the objective of optimizing some objective.</p>
<p>Now come back to the problem of determining the stabilizability of a configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>. From a computational point of view, because we cannot really store arbitrary real numbers in a computer, we are only going to consider the case where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> are both rational-valued functions. Then, without loss of generality, when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span> is finite, we can multiply both functions by a common multiple of denominators to make them both integer-valued functions <a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a>. The problem of determining the stabilizability of a configuration then becomes a special case of the feasibility version of ILP problems, which is to determine whether there exists a natural number solution to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>≥</mo><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\Dlt u\ge\psi</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ψ</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>η</mi><mo>−</mo><mi>θ</mi><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\psi\ceq\eta-\tht+1</annotation></semantics></math></span>. It is only a special case because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> by the definition of the abelian sandpile model can only be a Z-matrix, which is defined as a square matrix whose off-diagonal entries are all nonpositive. Because of this restriction, it may not be as hard as the general ILP problems, which are known to be NP-complete. However, Z-matrix ILP problems are in fact also NP-complete.</p>
<details>
<summary>
Proving NP-completeness of Z-matrix ILP problems
</summary>
<p>To prove that the Z-matrix ILP problem is NP-complete, we reduce the good simultaneous approximation problem, which is known to be NP-complete (<a href="https://doi.org/10.1137/0214016" target="_blank" rel="external">Lagarias, 1985</a>), to the Z-matrix ILP problem.</p>
<p>The good simultaneous approximation problem states as follows: given rational numbers <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">r_i</annotation></semantics></math></span> (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>i</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><mi>n</mi><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">i=0,\ldots,n-1</annotation></semantics></math></span>), a positive rational number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ε</mi></mrow><annotation encoding="application/x-tex">\veps</annotation></semantics></math></span>, and a positive integer <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>, determine whether there exists a positive integer <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Q</mi><mo>≤</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">Q\le N</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mrow><mi>max</mi><mo>⁡</mo></mrow><mi>i</mi></munder><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>i</mi></msub><mi>Q</mi><mo>−</mo><mrow><mo fence="true">⌊</mo><msub><mi>r</mi><mi>i</mi></msub><mi>Q</mi><mo fence="true">⌉</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mi>ε</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\max_i\v{r_iQ-\round{r_iQ}}\le\veps.</annotation></semantics></math></span></p>
<p>This problem can be reduced to the following Z-matrix ILP problem. Denote <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">{</mo><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow><mrow><mi>x</mi><mo>∈</mo><mi>V</mi></mrow></msub><mo>=</mo><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>p</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>q</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\B{\fc ux}_{x\in V}=\p{\B{p_i},\B{q_i},r}</annotation></semantics></math></span> (so it is a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mn>2</mn><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{2n+1}</annotation></semantics></math></span>-dimensional vector), and construct <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\psi</annotation></semantics></math></span> so that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>≥</mo><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\Dlt u\ge\psi</annotation></semantics></math></span> is equivalent to the system of the following linear inequalities: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>p</mi><mi>i</mi></msub><mo>−</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>i</mi></msub><mo fence="true">∣</mo></mrow><msub><mi>q</mi><mi>i</mi></msub></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mo>−</mo><mi>ε</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mn>3</mn><mi>ε</mi><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>−</mo><msub><mi>q</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>p</mi><mi>i</mi></msub><mo>+</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>i</mi></msub><mo fence="true">∣</mo></mrow><msub><mi>q</mi><mi>i</mi></msub></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mo>−</mo><mi>ε</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><msub><mi>q</mi><mn>0</mn></msub><mo>−</mo><mi>r</mi></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mo>−</mo><mi>N</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	p_i-\v{r_i}q_i&amp;\ge-\veps,\\
	3\veps\p{q_i-q_{i+1}}-p_i+\v{r_i}q_i&amp;\ge-\veps,\\
	-q_0-r&amp;\ge-N,
\end{align*}</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>q</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">q_n\ceq q_0</annotation></semantics></math></span>.</p>
<p>Now, we prove that this Z-matrix ILP problem is equivalent to the initial good simultaneous approximation problem. The equivalence is two-way: for any solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> to the Z-matrix ILP problem, there exists a solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Q</mi></mrow><annotation encoding="application/x-tex">Q</annotation></semantics></math></span> to the good simultaneous approximation problem, and vice versa.</p>
<p>Given a solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Q</mi></mrow><annotation encoding="application/x-tex">Q</annotation></semantics></math></span> to the good simultaneous approximation problem, we can construct a solution to the Z-matrix ILP problem as follows: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>q</mi><mi>i</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>Q</mi><mo separator="true">,</mo><mspace width="2em"/><msub><mi>p</mi><mi>i</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⌊</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>i</mi></msub><mo fence="true">∣</mo></mrow><mi>Q</mi><mo fence="true">⌉</mo></mrow><mo separator="true">,</mo><mspace width="2em"/><mi>r</mi><mo><mi mathvariant="normal">≔</mi></mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">q_i\ceq Q,\qquad p_i\ceq\round{\v{r_i}Q},\qquad r\ceq0.</annotation></semantics></math></span> It is trivial to verify that all the linear inequalities are satisfied.</p>
<p>Given a solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>p</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mrow><mo fence="true">{</mo><msub><mi>q</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>r</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{\B{p_i},\B{q_i},r}</annotation></semantics></math></span> to the Z-matrix ILP problem, I will prove that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Q</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>q</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">Q\ceq q_0</annotation></semantics></math></span> is a solution to the good simultaneous approximation problem. First, I prove by contradition that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>i</mi></msub><mo>≥</mo><msub><mi>q</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">q_i\ge q_{i+1}</annotation></semantics></math></span>. Suppose that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>i</mi></msub><mo>&lt;</mo><msub><mi>q</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">q_i&lt;q_{i+1}</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>3</mn><mi>ε</mi><mtext> </mtext><munder><munder><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>i</mi></msub><mo>−</mo><msub><mi>q</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mo stretchy="true">⏟</mo></munder><mrow><mo>≤</mo><mo>−</mo><mn>1</mn></mrow></munder><mo>−</mo><munder><munder><mrow><mo fence="true">(</mo><msub><mi>p</mi><mi>i</mi></msub><mo>−</mo><msub><mi>r</mi><mi>i</mi></msub><msub><mi>q</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo stretchy="true">⏟</mo></munder><mrow><mo>≥</mo><mo>−</mo><mi>ε</mi></mrow></munder><mo>≤</mo><mo>−</mo><mn>3</mn><mi>ε</mi><mo>+</mo><mi>ε</mi><mo>&lt;</mo><mo>−</mo><mi>ε</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">3\veps\,\underbrace{\p{q_i-q_{i+1}}}_{\le-1}
-\underbrace{\p{p_i-r_iq_i}}_{\ge-\veps}
\le-3\veps+\veps&lt;-\veps.</annotation></semantics></math></span> This contradicts with the second inequality in the Z-matrix ILP problem. Therefore, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>i</mi></msub><mo>≥</mo><msub><mi>q</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding="application/x-tex">q_i\ge q_{i+1}</annotation></semantics></math></span>, and furthermore <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mn>0</mn></msub><mo>≥</mo><msub><mi>q</mi><mn>1</mn></msub><mo>≥</mo><mo>⋯</mo><mo>≥</mo><msub><mi>q</mi><mi>n</mi></msub><mo>≥</mo><msub><mi>q</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">q_0\ge q_1\ge\cdots\ge q_n\ge q_0</annotation></semantics></math></span>. The only way this can be satisfied is that all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">q_i</annotation></semantics></math></span> are equal to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Q</mi></mrow><annotation encoding="application/x-tex">Q</annotation></semantics></math></span>. The first inequality and the second inequality then become <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi>ε</mi><mo>≤</mo><mo>−</mo><msub><mi>p</mi><mi>i</mi></msub><mo>+</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>i</mi></msub><mo fence="true">∣</mo></mrow><mi>Q</mi><mo>≤</mo><mi>ε</mi></mrow><annotation encoding="application/x-tex">-\veps\le-p_i+\v{r_i}Q\le\veps</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>i</mi></msub><mi>Q</mi><mo>−</mo><mrow><mo fence="true">⌊</mo><msub><mi>r</mi><mi>i</mi></msub><mi>Q</mi><mo fence="true">⌉</mo></mrow><mo fence="true">∣</mo></mrow><mo>≤</mo><mrow><mo fence="true">∣</mo><mrow><mo fence="true">∣</mo><msub><mi>r</mi><mi>i</mi></msub><mo fence="true">∣</mo></mrow><mi>Q</mi><mo>−</mo><msub><mi>p</mi><mi>i</mi></msub><mo fence="true">∣</mo></mrow><mo>≤</mo><mi>ε</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\v{r_iQ-\round{r_iQ}}\le\v{\v{r_i}Q-p_i}\le\veps.</annotation></semantics></math></span> The constraint <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Q</mi><mo>≤</mo><mi>N</mi></mrow><annotation encoding="application/x-tex">Q\le N</annotation></semantics></math></span> is implied by the third inequality. The proof is complete.</p>
</details>
<p>We can design this algorithm inspired by <a href="https://doi.org/10.1137/S0097539793251876" target="_blank" rel="external">Hochbaum et al. (1994)</a> to solve the Z-matrix ILP problem. To find a natural number solution to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>≥</mo><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\Dlt u\ge\psi</annotation></semantics></math></span> for some given Z-matrix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> and vector <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\psi</annotation></semantics></math></span>, first solve the linear programming relaxation of the problem to find a real-valued minimum solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">u^*</annotation></semantics></math></span> or exit and report nonexistence of solutions if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">u^*</annotation></semantics></math></span> does not exist, and then iteratively calculate a sequence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{u^{\p k}}</annotation></semantics></math></span> starting from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow></msup><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⌈</mo><msup><mi>u</mi><mo>∗</mo></msup><mo fence="true">⌉</mo></mrow></mrow><annotation encoding="application/x-tex">u^{\p0}\ceq\ceil{u^*}</annotation></semantics></math></span> (where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⌈</mo><mo>⋅</mo><mo fence="true">⌉</mo></mrow><annotation encoding="application/x-tex">\ceil{\cdot}</annotation></semantics></math></span> is the componentwise ceiling function) by this procedure: for each row <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span>, if the inequality <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>y</mi></msub><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_y\fc\Dlt{x,y}\fc{u^{\p k}}y\ge\fc\psi x</annotation></semantics></math></span> is violated, then exit and report nonexistence of solutions if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\Dlt{x,x}\le0</annotation></semantics></math></span>, or update <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⌈</mo><mfrac><mn>1</mn><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mrow><mo fence="true">(</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><munder><mo>∑</mo><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mi>x</mi></mrow></munder><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">⌉</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo mathvariant="normal">≠</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{u^{\p{k+1}}}x&amp;\ceq\ceil{\fr1{\fc\Dlt{x,x}}\p{\fc\psi x-\sum_{y\ne x}\fc\Dlt{x,y}\fc{u^{\p k}}y}},\\
\fc{u^{\p{k+1}}}{y\ne x}&amp;\ceq\fc{u^{\p k}}y
\end{align*}</annotation></semantics></math></span> and start the next iteration; repeat the iteration until either all inequalities are satisfied (solution found) or any component of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">u^{\p k}</annotation></semantics></math></span> exceed a predetermined upper bound <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span>.</p>
<p>Before we address this dubious upper bound <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span>, let us first prove that this algorithm finds the minimum solution if a solution exists and is within the bound <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span>. There are three ways in which the program ends: exceeding the bound, satisfying all inequalities, or having <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\Dlt{x,x}\le0</annotation></semantics></math></span> for an unsatisfied inequality.</p>
<p>For the case when the program ends due to exceeding the bound, we need to prove that no solution exists within the bound. It is equivalent to proving that, if a solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>T</mi></msub><mo>≤</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">u_T\le B</annotation></semantics></math></span> exists within the bound, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">u^{\p k}</annotation></semantics></math></span> can never exceed the bound. Sufficiently, I will prove by induction that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mo>≤</mo><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u^{\p k}\le u_T</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span>. The base case <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">k=0</annotation></semantics></math></span> is obvious because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">u^*</annotation></semantics></math></span> as the minimum real solution must satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo>∗</mo></msup><mo>≤</mo><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u^*\le u_T</annotation></semantics></math></span>. For the inductive step, suppose that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mo>≤</mo><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u^{\p k}\le u_T</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">k\ge0</annotation></semantics></math></span>. Then, if row <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> of the inequalities is violated (in other words, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>y</mi></msub><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_y\fc\Dlt{x,y}\fc{u^{\p k}}y\le\fc\psi x</annotation></semantics></math></span>), we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">⌈</mo><mfrac><mn>1</mn><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mrow><mo fence="true">(</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><munder><mo>∑</mo><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mi>x</mi></mrow></munder><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">⌉</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≤</mo><mrow><mo fence="true">⌈</mo><mfrac><mn>1</mn><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mrow><mo fence="true">(</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><munder><mo>∑</mo><mrow><mi>y</mi><mo mathvariant="normal">≠</mo><mi>x</mi></mrow></munder><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msub><mi>u</mi><mi>T</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">⌉</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≤</mo><mrow><mo fence="true">⌈</mo><msub><mi>u</mi><mi>T</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">⌉</mo></mrow><mo>=</mo><msub><mi>u</mi><mi>T</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{u^{\p{k+1}}}x&amp;=\ceil{\fr1{\fc\Dlt{x,x}}\p{\fc\psi x-\sum_{y\ne x}\fc\Dlt{x,y}\fc{u^{\p k}}y}}\\
&amp;\le\ceil{\fr1{\fc\Dlt{x,x}}\p{\fc\psi x-\sum_{y\ne x}\fc\Dlt{x,y}\fc{u_T}y}}\\
&amp;\le\ceil{\fc{u_T}x}=\fc{u_T}x,
\end{align*}</annotation></semantics></math></span> where the first inequality is due to the induction assumption and the Z-matrix property and the second inequality is due to the assumption that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u_T</annotation></semantics></math></span> is a solution of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>≥</mo><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\Dlt u\ge\psi</annotation></semantics></math></span>.</p>
<p>For the case when the program ends due to satisfying all inequalities, we have found a solution.</p>
<p>For the case when the program ends due to having <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\Dlt{x,x}\le0</annotation></semantics></math></span> for an unsatisfied inequality, I will prove by contradiction that no solution exists in this case. Suppose that there exists a solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u_T</annotation></semantics></math></span>, then we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mo>≤</mo><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u^{\p k}\le u_T</annotation></semantics></math></span>. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><munder><mo>∑</mo><mi>y</mi></munder><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><munder><mo>∑</mo><mi>y</mi></munder><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msub><mi>u</mi><mi>T</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc\psi x&gt;\sum_y\fc\Dlt{x,y}\fc{u^{\p k}}y
\ge\sum_y\fc\Dlt{x,y}\fc{u_T}y
\ge\fc\psi x,</annotation></semantics></math></span> where the first inequality is because of the violated inequality, and the second inequality is because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\Dlt{x,x}\le0</annotation></semantics></math></span> and the Z-matrix property, and the third inequality is because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">u_T</annotation></semantics></math></span> is a solution of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>≥</mo><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\Dlt u\ge\psi</annotation></semantics></math></span>. This is a contradiction.</p>
<p>Finally, we address the dubious upper bound <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span>. In order for the algorithm to work, we need to determine a finite upper bound <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span> under which a solution is guaranteed to exist if any solution exists. A safe choice is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi><mo>=</mo><msup><mi>u</mi><mo>∗</mo></msup><mo>+</mo><mi>n</mi><mi>D</mi></mrow><annotation encoding="application/x-tex">B=u^*+nD</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span> is maximum of the absolute values of subdeterminants <a href="#fn3" class="footnote-ref" id="fnref3" role="doc-noteref"><sup>3</sup></a> of the matrix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span>. I follow <a href="https://doi.org/10.1007/BF01582230" target="_blank" rel="external">Cook et al. (1986)</a> to give a proof.</p>
<p>Suppose that there exists a natural number solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">u_T&#x27;</annotation></semantics></math></span>. Partition elements in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span> into two disjoint subsets <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>V</mi><mo>&gt;</mo></msub></mrow><annotation encoding="application/x-tex">V_&gt;</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>V</mi><mo>&lt;</mo></msub></mrow><annotation encoding="application/x-tex">V_&lt;</annotation></semantics></math></span> defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msub><mi>V</mi><mo>&gt;</mo></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>x</mi><mo>∈</mo><mi>V</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi mathvariant="normal">Δ</mi><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msub><mi>V</mi><mo>&lt;</mo></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>x</mi><mo>∈</mo><mi>V</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mi mathvariant="normal">Δ</mi><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo fence="true">}</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
V_&gt;&amp;\ceq\set{x\in V}{\fc{\Dlt u_T&#x27;}x\ge\fc{\Dlt u^*}x},\\
V_&lt;&amp;\ceq\set{x\in V}{\fc{\Dlt u_T&#x27;}x&lt;\fc{\Dlt u^*}x}.
\end{align*}</annotation></semantics></math></span> The set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>V</mi><mo>&lt;</mo></msub></mrow><annotation encoding="application/x-tex">V_&lt;</annotation></semantics></math></span> corresponds to the rows of inequalities that are slack. To see this, notice that for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&lt;</mo></msub></mrow><annotation encoding="application/x-tex">x\in V_&lt;</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mi mathvariant="normal">Δ</mi><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\Dlt u^*}x&gt;\fc{\Dlt u_T&#x27;}x\ge\fc\psi x</annotation></semantics></math></span>. This motivates us to use complementary slackness to get more information about <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span>. Notice that, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">z\in V</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">u^*</annotation></semantics></math></span> is an optimal solution to the linear program of minimizing <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc uz</annotation></semantics></math></span> subject to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>≥</mo><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\Dlt u\ge\psi</annotation></semantics></math></span>. Its dual linear program is to maximize <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>x</mi></msub><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi>v</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_x\fc\psi x\fc vx</annotation></semantics></math></span> subject to the constraint <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>x</mi></msub><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mi>v</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≤</mo><msub><mi>δ</mi><mrow><mi>y</mi><mi>z</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\sum_x\fc\Dlt{x,y}\fc vx\le\dlt_{yz}</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">y\in V</annotation></semantics></math></span>. By complementary slackness, the optimal solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>v</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">v^*</annotation></semantics></math></span> exists and satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>v</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{v^*}y=0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>∈</mo><msub><mi>V</mi><mo>&lt;</mo></msub></mrow><annotation encoding="application/x-tex">y\in V_&lt;</annotation></semantics></math></span>. Therefore, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\Dlt u}x\ge0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&gt;</mo></msub></mrow><annotation encoding="application/x-tex">x\in V_&gt;</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><munder><mo>∑</mo><mi>y</mi></munder><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><msub><mi>δ</mi><mrow><mi>y</mi><mi>z</mi></mrow></msub></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><munder><mo>∑</mo><mi>y</mi></munder><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>y</mi><mo fence="true">)</mo></mrow><munder><mo>∑</mo><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&gt;</mo></msub></mrow></munder><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><msup><mi>v</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munder><mo>∑</mo><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&gt;</mo></msub></mrow></munder><msup><mi>v</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc uz=\sum_y\fc uy\dlt_{yz}
&amp;\ge\sum_y\fc uy\sum_{x\in V_&gt;}\fc\Dlt{x,y}\fc{v^*}x\\
&amp;=\sum_{x\in V_&gt;}\fc{v^*}x\fc{\Dlt u}x\ge0.
\end{align*}</annotation></semantics></math></span> Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> is arbitrary, this means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\Dlt u}x\ge0</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&gt;</mo></msub></mrow><annotation encoding="application/x-tex">x\in V_&gt;</annotation></semantics></math></span> implies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u\ge0</annotation></semantics></math></span>.</p>
<p>We can define a polyhedral cone <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mi>u</mi><mo>:</mo><mi>V</mi><mo>→</mo><mi mathvariant="double-struck">R</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><msup><mi mathvariant="normal">Δ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi>u</mi><mo>≥</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">C\ceq\set{u:V\to\bR}{\Dlt&#x27;u\ge0}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi mathvariant="normal">Δ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&gt;</mo></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>−</mo><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&lt;</mo></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fc{\Dlt&#x27;}{x,y}\ceq\begin{cases}
\fc\Dlt{x,y},&amp;x\in V_&gt;,\\
-\fc\Dlt{x,y},&amp;x\in V_&lt;.
\end{cases}</annotation></semantics></math></span> We then have that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">u\in C</annotation></semantics></math></span> implies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u\ge0</annotation></semantics></math></span>. We can choose a finite set <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mo>⊆</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">G\subseteq C</annotation></semantics></math></span> that generates <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span> (in other words, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span> is the nonnegative linear combination of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span>) such that, for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>∈</mo><mi>G</mi></mrow><annotation encoding="application/x-tex">g\in G</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span> is integral and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn><mo>≤</mo><mi>g</mi><mo>≤</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">0\le g\le D</annotation></semantics></math></span>. To see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>≤</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">g\le D</annotation></semantics></math></span> is always possible, notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span> is in the null space of some submatrix of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Δ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\Dlt&#x27;</annotation></semantics></math></span>, which is spanned by vectors whose components are subdeterminants of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Δ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\Dlt&#x27;</annotation></semantics></math></span>, which are all bounded by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span> in absolute value by definition. By definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>V</mi><mo>&gt;</mo></msub></mrow><annotation encoding="application/x-tex">V_&gt;</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>V</mi><mo>&lt;</mo></msub></mrow><annotation encoding="application/x-tex">V_&lt;</annotation></semantics></math></span>, we obviously have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>−</mo><msup><mi>u</mi><mo>∗</mo></msup><mo>∈</mo><mi>C</mi></mrow><annotation encoding="application/x-tex">u_T&#x27;-u^*\in C</annotation></semantics></math></span>. Therefore, by Carathéodory’s theorem, there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span> (the dimension of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>C</mi></mrow><annotation encoding="application/x-tex">C</annotation></semantics></math></span>) vectors <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>g</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{g_i}</annotation></semantics></math></span> in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span> nonnegative real numbers <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>λ</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\lmd_i}</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>−</mo><msup><mi>u</mi><mo>∗</mo></msup><mo>=</mo><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>λ</mi><mi>i</mi></msub><msub><mi>g</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">u_T&#x27;-u^*=\sum_i\lmd_ig_i</annotation></semantics></math></span>. Construct <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>u</mi><mi>T</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo>−</mo><munder><mo>∑</mo><mi>i</mi></munder><mrow><mo fence="true">⌊</mo><msub><mi>λ</mi><mi>i</mi></msub><mo fence="true">⌋</mo></mrow><msub><mi>g</mi><mi>i</mi></msub><mo>=</mo><msup><mi>u</mi><mo>∗</mo></msup><mo>+</mo><munder><mo>∑</mo><mi>i</mi></munder><mrow><mo fence="true">(</mo><msub><mi>λ</mi><mi>i</mi></msub><mo>−</mo><mrow><mo fence="true">⌊</mo><msub><mi>λ</mi><mi>i</mi></msub><mo fence="true">⌋</mo></mrow><mo fence="true">)</mo></mrow><msub><mi>g</mi><mi>i</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">u_T\ceq u_T&#x27;-\sum_i\floor{\lmd_i}g_i
=u^*+\sum_i\p{\lmd_i-\floor{\lmd_i}}g_i.</annotation></semantics></math></span> It is obviously integral and satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>T</mi></msub><mo>≤</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">u_T\le B</annotation></semantics></math></span>. We can verify that it is a solution of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>≥</mo><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\Dlt u\ge\psi</annotation></semantics></math></span>. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&lt;</mo></msub></mrow><annotation encoding="application/x-tex">x\in V_&lt;</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi mathvariant="normal">Δ</mi><msub><mi>u</mi><mi>T</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi mathvariant="normal">Δ</mi><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>−</mo><munder><mo>∑</mo><mi>i</mi></munder><mrow><mo fence="true">⌊</mo><msub><mi>λ</mi><mi>i</mi></msub><mo fence="true">⌋</mo></mrow><mi mathvariant="normal">Δ</mi><msub><mi>g</mi><mi>i</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi mathvariant="normal">Δ</mi><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>+</mo><munder><mo>∑</mo><mi>i</mi></munder><mrow><mo fence="true">⌊</mo><msub><mi>λ</mi><mi>i</mi></msub><mo fence="true">⌋</mo></mrow><msup><mi mathvariant="normal">Δ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msub><mi>g</mi><mi>i</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mi mathvariant="normal">Δ</mi><msubsup><mi>u</mi><mi>T</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{\Dlt u_T}x
&amp;=\fc{\Dlt u_T&#x27;}x-\sum_i\floor{\lmd_i}\fc{\Dlt g_i}x\\
&amp;=\fc{\Dlt u_T&#x27;}x+\sum_i\floor{\lmd_i}\fc{\Dlt&#x27;g_i}x\\
&amp;\ge\fc{\Dlt u_T&#x27;}x\ge\fc\psi x.
\end{align*}</annotation></semantics></math></span> For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><msub><mi>V</mi><mo>&gt;</mo></msub></mrow><annotation encoding="application/x-tex">x\in V_&gt;</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi mathvariant="normal">Δ</mi><msub><mi>u</mi><mi>T</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>+</mo><munder><mo>∑</mo><mi>i</mi></munder><mrow><mo fence="true">(</mo><msub><mi>λ</mi><mi>i</mi></msub><mo>−</mo><mrow><mo fence="true">⌊</mo><msub><mi>λ</mi><mi>i</mi></msub><mo fence="true">⌋</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">Δ</mi><msub><mi>g</mi><mi>i</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>+</mo><munder><mo>∑</mo><mi>i</mi></munder><mrow><mo fence="true">(</mo><msub><mi>λ</mi><mi>i</mi></msub><mo>−</mo><mrow><mo fence="true">⌊</mo><msub><mi>λ</mi><mi>i</mi></msub><mo fence="true">⌋</mo></mrow><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">Δ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msub><mi>g</mi><mi>i</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mi mathvariant="normal">Δ</mi><msup><mi>u</mi><mo>∗</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>≥</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{\Dlt u_T}x
&amp;=\fc{\Dlt u^*}x+\sum_i\p{\lmd_i-\floor{\lmd_i}}\fc{\Dlt g_i}x\\
&amp;=\fc{\Dlt u^*}x+\sum_i\p{\lmd_i-\floor{\lmd_i}}\fc{\Dlt&#x27;g_i}x\\
&amp;\ge\fc{\Dlt u^*}x\ge\fc\psi x.
\end{align*}</annotation></semantics></math></span> We thus have found a solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mi>T</mi></msub><mo>≤</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">u_T\le B</annotation></semantics></math></span>.</p>
<p>Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi><mo>=</mo><msup><mi>u</mi><mo>∗</mo></msup><mo>+</mo><mi>n</mi><mi>D</mi></mrow><annotation encoding="application/x-tex">B=u^*+nD</annotation></semantics></math></span> is a valid upper bound. However, it is often hard to compute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>D</mi></mrow><annotation encoding="application/x-tex">D</annotation></semantics></math></span> in practice, so we may use <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi><mo>=</mo><msup><mi>u</mi><mo>∗</mo></msup><mo>+</mo><mi>n</mi><msup><mi>D</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">B=u^*+nD&#x27;</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>D</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>≥</mo><mi>D</mi></mrow><annotation encoding="application/x-tex">D&#x27;\ge D</annotation></semantics></math></span> that is easier to compute. Obviously a choice is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>D</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mi>n</mi><mo stretchy="false">!</mo><msubsup><mrow><mo fence="true">∥</mo><mi mathvariant="normal">Δ</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">∞</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">D&#x27;=n!\V{\Dlt}_\infty^n</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">∥</mo><mi mathvariant="normal">Δ</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">∞</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mrow><mi>max</mi><mo>⁡</mo></mrow><mrow><mi>x</mi><mo separator="true">,</mo><mi>y</mi></mrow></msub><mrow><mo fence="true">∣</mo><mi mathvariant="normal">Δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow></mrow><annotation encoding="application/x-tex">\V{\Dlt}_\infty\ceq\max_{x,y}\v{\fc\Dlt{x,y}}</annotation></semantics></math></span>.</p>
<p>Now that we have proven the correctness of the algorithm, we can analyze its time complexity. Because every iteration increases at least one component of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">u^{\p k}</annotation></semantics></math></span> by at least <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>, the total number of iterations is at most <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">∥</mo><mi>B</mi><mo>−</mo><msup><mi>u</mi><mo>∗</mo></msup><mo fence="true">∥</mo></mrow><mn>1</mn></msub><mo>=</mo><msup><mi>n</mi><mn>2</mn></msup><mi>n</mi><mo stretchy="false">!</mo><msubsup><mrow><mo fence="true">∥</mo><mi mathvariant="normal">Δ</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">∞</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\V{B-u^*}_1=n^2n!\V{\Dlt}_\infty^n</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">∥</mo><mo>⋅</mo><mo fence="true">∥</mo></mrow><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\V{\cdot}_1</annotation></semantics></math></span> is the sum of absolute values of components. Each iteration takes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>n</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\order{n^2}</annotation></semantics></math></span> time to check all inequalities. Therefore, the total time complexity is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>n</mi><mn>4</mn></msup><mi>n</mi><mo stretchy="false">!</mo><msubsup><mrow><mo fence="true">∥</mo><mi mathvariant="normal">Δ</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">∞</mi><mi>n</mi></msubsup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\order{n^4n!\V{\Dlt}_\infty^n}</annotation></semantics></math></span>. It is a pseudopolynomial time algorithm for fixed <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>, but grows superexponentially by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> for fixed <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">∥</mo><mi mathvariant="normal">Δ</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">∞</mi></msub></mrow><annotation encoding="application/x-tex">\V{\Dlt}_\infty</annotation></semantics></math></span>.</p>
<p>Also, notice that, in each iteration, we can update any components of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>u</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">u^{\p k}</annotation></semantics></math></span> whose corresponding inequalities are violated in parallel instead of only updating one component at each iteration. The proof of correctness still holds.</p>
<h2 data-label="0.5" id="guaranteed-stabilizability">Guaranteed stabilizability</h2>
<p>One interesting question to ask is how to determine whether an abelian sandpile model guarantees the stabilizability of all legal configurations. If determining this is easier than solving ILP problems, then it is even useful for determining the stabilizability of particular configurations.</p>
<p>The answer to this question is that an abelian sandpile model guarantees the stabilizability of all legal configurations if and only if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> is a nonsingular M-matrix (an M-matrix is defined as a matrix that can be written in the form <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mi>I</mi><mo>−</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">sI-B</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math></span> is the identity matrix, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span> is a nonnegative matrix, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span> is at least as large as the spectral radius of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span>; it is nonsingular when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span> is strictly larger than the spectral radius of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi></mrow><annotation encoding="application/x-tex">B</annotation></semantics></math></span>), which is also equivalent to saying that there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u\ge0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\Dlt u&gt;0</annotation></semantics></math></span> (<a href="https://doi.org/10.1016/0024-3795(77)90073-8" target="_blank" rel="external">Plemmons, 1977</a>). The necessity of this condition is easy to see because it is implied by the stabilizibility of any configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>≥</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\eta\ge\tht</annotation></semantics></math></span>. To see the sufficiency, suppose that there exists <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>≥</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">u\ge0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>u</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\Dlt u&gt;0</annotation></semantics></math></span>. Without loss of generality, we can assume that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is rational-valued because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> as a linear transformation on a finite-dimensional vector space must be continuous. We can then further assume that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> is integer-valued by multiplying it by a common multiple of denominators. Now, for any configuration <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span>, we can always choose a sufficiently large constant <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>c</mi></mrow><annotation encoding="application/x-tex">c</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mrow><mo fence="true">(</mo><mi>c</mi><mi>u</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mi>η</mi><mo>−</mo><mi>θ</mi></mrow><annotation encoding="application/x-tex">\Dlt\p{cu}&gt;\eta-\tht</annotation></semantics></math></span>. By the least action principle, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> is stabilizable.</p>
<p>In this case, we can define an abelian group called the <dfn>sandpile group</dfn>. The elements are equivalent classes of configurations, where two configurations <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">\eta&#x27;</annotation></semantics></math></span> are equivalent if there exists some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mo>:</mo><mi>V</mi><mo>→</mo><mi mathvariant="double-struck">Z</mi></mrow><annotation encoding="application/x-tex">u:V\to\bZ</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi><mo>−</mo><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mi mathvariant="normal">Δ</mi><mi>u</mi></mrow><annotation encoding="application/x-tex">\eta-\eta&#x27;=\Dlt u</annotation></semantics></math></span>. The group operation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>+</mo></mrow><annotation encoding="application/x-tex">+</annotation></semantics></math></span> is defined such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">[</mo><mi>η</mi><mo fence="true">]</mo></mrow><mo>+</mo><mrow><mo fence="true">[</mo><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">]</mo></mrow><mo>=</mo><mrow><mo fence="true">[</mo><mi>η</mi><mo>+</mo><msup><mi>η</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\b{\eta}+\b{\eta&#x27;}=\b{\eta+\eta&#x27;}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">[</mo><mo>⋅</mo><mo fence="true">]</mo></mrow><annotation encoding="application/x-tex">\b{\cdot}</annotation></semantics></math></span> denotes the equivalence class represented by a configuration. Only if all configurations are stabilizable can any equivalence class be represented by a stable legal configuration. This group has many interesting properties (<a href="https://doi.org/10.1007/978-3-7643-8786-0_17" target="_blank" rel="external">Holroyd et al., 2008</a>), but they are outside of the scope of this article.</p>
<p>To determine whether a Z-matrix is a nonsingular M-matrix, we can perform an LU decomposition on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> and check whether all diagonal entries of the two triangular matrices are positive. If they are, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi></mrow><annotation encoding="application/x-tex">\Dlt</annotation></semantics></math></span> is a nonsingular M-matrix. For fixed <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mo fence="true">∥</mo><mi mathvariant="normal">Δ</mi><mo fence="true">∥</mo></mrow><mi mathvariant="normal">∞</mi></msub></mrow><annotation encoding="application/x-tex">\V{\Dlt}_\infty</annotation></semantics></math></span>, this can be done in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>n</mi><mn>3</mn></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\order{n^3}</annotation></semantics></math></span> time using Gaussian elimination.</p>
<h2 data-label="0.6" id="implementation">Implementation</h2>
<p>Ask LLM to code for you.</p>
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
<hr />
<ol>
<li id="fn1"><p>I was puzzled by why people made the theorem have the same name as the more famous principle in the field of classical mechanics also known as Hamilton’s principle. Apparently, people who coined the name are also phycists, who must have known Hamilton’s principle, so I think there must be a relation between those two seemingly unrelated propositions, but I cannot devise such a relation.<a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn2"><p>This “without loss of generality” is actually not very obvious. Mathematically speaking, we can always reduce the rational-valued case to the integer-valued case. However, computationally speaking, we need to prove that the input size of the reduced problem is bounded by a polynomial of the input size of the original problem. Fortunately, it is easy to prove for this case if the input size of a rational number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mi mathvariant="normal">/</mi><mi>q</mi></mrow><annotation encoding="application/x-tex">p/q</annotation></semantics></math></span> is defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>+</mo><mrow><mo fence="true">⌈</mo><msub><mrow><mi>log</mi><mo>⁡</mo></mrow><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">∣</mo><mi>p</mi><mo fence="true">∣</mo></mrow><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo fence="true">⌉</mo></mrow><mo>+</mo><mrow><mo fence="true">⌈</mo><msub><mrow><mi>log</mi><mo>⁡</mo></mrow><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">∣</mo><mi>q</mi><mo fence="true">∣</mo></mrow><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo fence="true">⌉</mo></mrow></mrow><annotation encoding="application/x-tex">1+\ceil{\fc{\log_2}{\v p+1}}+\ceil{\fc{\log_2}{\v q+1}}</annotation></semantics></math></span>.<a href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn3"><p>I was confused by the word “subdeterminant” as I found it in the literature because I never heard of it when I learned linear algebra. I then searched it up on Wikipedia and found that it is the title of a Czech Wikipedia article whose English version is titled “minor”. I then realized that a subdeterminant just means a minor, which is the determinant of a matrix after removing some rows and/or columns. I then think the word “subdeterminant” actually makes more sense than “minor” because the latter is overused for too many concepts.<a href="#fnref3" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
</ol>
</section>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="math" /><category term="graph theory" /><category term="linear programming" /><category term="long paper" /><summary type="html"><![CDATA[The abelian sandpile model is a cellular automaton where each cell is a sandpile that can topple to put grains on neighboring cells when having enough grains. It is stable if none of the sandpiles can topple. A natural question to ask is whether it can become stable eventually. In this article, I will show that one can determine the stabilizibility usiung integer linear programming for the abelian sandpile model on an arbitrary finite graph.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2026-01-03-sandpile-stabilizable.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2026-01-03-sandpile-stabilizable.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[From Picard iteration to Feynman path integral]]></title><link href="https://ulysseszh.github.io/physics/2025/11/13/picard-path-integral.html" rel="alternate" type="text/html" title="From Picard iteration to Feynman path integral" /><published>2025-11-13T17:31:24-08:00</published><updated>2025-11-13T17:31:24-08:00</updated><id>https://ulysseszh.github.io/physics/2025/11/13/picard-path-integral</id><content type="html" xml:base="https://ulysseszh.github.io/physics/2025/11/13/picard-path-integral.html"><![CDATA[<h2 data-label="0.1" id="discrete-path-integral">Discrete path integral</h2>
<p>As we all know, the Schrödinger equation is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mi mathvariant="normal">d</mi><mrow><mi mathvariant="normal">d</mi><mi>t</mi></mrow></mfrac><mrow><mo fence="true">∣</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo>=</mo><mo>−</mo><mi mathvariant="normal">i</mi><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fr\d{\d t}\ket{\fc\psi t}=-\i\fc Ht\ket{\fc\psi t},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∣</mo><mi>ψ</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\ket\psi</annotation></semantics></math></span> is the state vector and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>H</mi></mrow><annotation encoding="application/x-tex">H</annotation></semantics></math></span> is the Hamiltonian operator (may be time-dependent). This is an ordinary differential equation (ODE), so we can express its solution as a sum <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mrow><mo fence="true">∣</mo><msup><mi>ψ</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\ket{\fc\psi t}=\sum_{n=0}^\infty\ket{\fc{\psi^{\p n}}t},</annotation></semantics></math></span> where each term in the sum is defined iteratively by (see also <a href="/math/2022/11/15/ode-recursive.html">my past article</a>) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><msup><mi>ψ</mi><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">∣</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><mrow><mo fence="true">∣</mo><msup><mi>ψ</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mi mathvariant="normal">i</mi><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> </mtext><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><msup><mi>ψ</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\ket{\fc{\psi^{\p0}}t}\ceq\ket{\fc\psi0},\quad
\ket{\fc{\psi^{\p{n+1}}}t}\ceq-\i\int_0^t\d t&#x27;\,\fc H{t&#x27;}\ket{\fc{\psi^{\p n}}{t&#x27;}}.</annotation></semantics></math></span> This iteration is called the Picard iteration, which is most known as a method to prove the Picard–Lindelöf theorem.</p>
<p>Let us actually write out the general term in this sum as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><msup><mi>ψ</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo>=</mo><msup><mi>K</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\ket{\fc{\psi^{\p n}}t}=\fc{K^{\p n}}t\ket{\fc\psi0},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>K</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">i</mi><mo fence="true">)</mo></mrow><mi>n</mi></msup><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><msub><mi>t</mi><mi>n</mi></msub><mtext> </mtext><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mi>n</mi></msub><mo fence="true">)</mo></mrow><msubsup><mo>∫</mo><mn>0</mn><msub><mi>t</mi><mi>n</mi></msub></msubsup><mi mathvariant="normal">d</mi><msub><mi>t</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> </mtext><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mo>⋯</mo><msubsup><mo>∫</mo><mn>0</mn><msub><mi>t</mi><mn>2</mn></msub></msubsup><mi mathvariant="normal">d</mi><msub><mi>t</mi><mn>1</mn></msub><mtext> </mtext><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{K^{\p n}}t=\p{-\i}^n\int_0^t\d t_n\,\fc H{t_n}\int_0^{t_n}\d t_{n-1}\,\fc H{t_{n-1}}\cdots\int_0^{t_2}\d t_1\,\fc H{t_1}.</annotation></semantics></math></span> Now with the trick of time-ordering, we can rewrite this as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msup><mi>K</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">i</mi><mo fence="true">)</mo></mrow><mi>n</mi></msup><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><msub><mi>t</mi><mi>n</mi></msub><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><msub><mi>t</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>⋯</mo><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><msub><mi>t</mi><mn>1</mn></msub><mtext> </mtext><mi mathvariant="script">T</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mi>n</mi></msub><mo fence="true">)</mo></mrow><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mo>⋯</mo><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo fence="true">]</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">i</mi><mo fence="true">)</mo></mrow><mi>n</mi></msup><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><mi mathvariant="script">T</mi><msup><mrow><mo fence="true">(</mo><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> </mtext><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi>n</mi></msup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{K^{\p n}}t&amp;=\fr{\p{-\i}^n}{n!}\int_0^t\d t_n\int_0^t\d t_{n-1}\cdots\int_0^t\d t_1\,\bfc{\mcal T}{\fc H{t_n}\fc H{t_{n-1}}\cdots\fc H{t_1}}\\
&amp;=\fr{\p{-\i}^n}{n!}\mcal T\p{\int_0^t\d t&#x27;\,\fc H{t&#x27;}}^n,
\end{align*}</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">T</mi><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mo>⋯</mo><mtext> </mtext><mo fence="true">]</mo></mrow></mrow><annotation encoding="application/x-tex">\bfc{\mcal T}\cdots</annotation></semantics></math></span> means to order the operators inside according to their time arguments. The factor of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mi>n</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">1/n!</annotation></semantics></math></span> appears because there are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">n!</annotation></semantics></math></span> ways to order <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> time variables, but another way to see this is to note that the domain of integration is an <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>-simplex, whose volume is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mi>n</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">1/n!</annotation></semantics></math></span> of the corresponding <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>-parallelotope. When we then sum over all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>, we get the time-ordered exponential <span id="eq:time-ordered-exp" data-label="(1)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">∣</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo>=</mo><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo fence="true">⟩</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><munder><mo>∑</mo><mi>n</mi></munder><msup><mi>K</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="script">T</mi><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">i</mi><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> </mtext><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\ket{\fc\psi t}=\fc Kt\ket{\fc\psi0},\quad
\fc Kt=\sum_n\fc{K^{\p n}}t=\mcal T\fc\exp{-\i\int_0^t\d t&#x27;\,\fc H{t&#x27;}}.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(1)</annotation></semantics></math></span></span> </span></span> The operator <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Kt</annotation></semantics></math></span> has a bunch of equivalent names, such as the time evolution operator, the propagator, the Green’s function, the Dyson operator, and the S-matrix (well, they are not entirely equivalent because they are used under different contexts).</p>
<p>The interesting part comes when we consider the matrix elements of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Kt</annotation></semantics></math></span> and how they relate to the matrix elements of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc Ht</annotation></semantics></math></span>. We choose an orthonormal basis <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\ket x}</annotation></semantics></math></span>, and then insert a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>x</mi></msub><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mrow><mo fence="true">⟨</mo><mi>x</mi><mo fence="true">∣</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_x\ket x\bra x</annotation></semantics></math></span> between each pair of Hamiltonian operators in the expression of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>K</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{K^{\p n}}t</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><msub><mi>x</mi><mi>n</mi></msub><mo fence="true">∣</mo></mrow><msup><mi>K</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><msub><mi>x</mi><mn>0</mn></msub><mo fence="true">⟩</mo></mrow><mo>=</mo><mfrac><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">i</mi><mo fence="true">)</mo></mrow><mi>n</mi></msup><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><msup><mi mathvariant="normal">d</mi><mi>n</mi></msup><mi>t</mi><munder><mo>∑</mo><mrow><msub><mi>x</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>x</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></munder><msub><mi>h</mi><mrow><msub><mi>x</mi><mi>n</mi></msub><msub><mi>x</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mi>n</mi></msub><mo fence="true">)</mo></mrow><msub><mi>h</mi><mrow><msub><mi>x</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><msub><mi>x</mi><mrow><mi>n</mi><mo>−</mo><mn>2</mn></mrow></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mrow><mi>n</mi><mo>−</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mo>⋯</mo><msub><mi>h</mi><mrow><msub><mi>x</mi><mn>1</mn></msub><msub><mi>x</mi><mn>0</mn></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\bra{x_n}\fc{K^{\p n}}t\ket{x_0}
=\fr{\p{-\i}^n}{n!}\int_0^t\d^nt\sum_{x_1,\ldots,x_{n-1}}
\fc{h_{x_nx_{n-1}}}{t_n}\fc{h_{x_{n-1}x_{n-2}}}{t_{n-1}}\cdots\fc{h_{x_1x_0}}{t_1},</annotation></semantics></math></span> where we have abbreviated <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>h</mi><mrow><mi>x</mi><mi>y</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⟨</mo><mi>x</mi><mo fence="true">∣</mo></mrow><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>y</mi><mo fence="true">⟩</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{h_{xy}}t\ceq\bra x\fc Ht\ket y</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>t</mi><mn>1</mn></msub><mo>≤</mo><mo>⋯</mo><mo>≤</mo><msub><mi>t</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">t_1\le\cdots\le t_n</annotation></semantics></math></span> are a specific ordering of the integrated time variables. We can pull out the sum over intermediate basis states and call the summand a contribution from a walk <a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a> from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>x</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">x_0</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>x</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">x_n</annotation></semantics></math></span>. In other words, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><msup><mi>K</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>x</mi><mi>n</mi></msub><mo>=</mo><mi>y</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mi>x</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></munderover><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\bra y\fc{K^{\p n}}t\ket x
=\sum_{\B{x_i}}^{\substack{x_n=y\\x_0=x}}\fc K{\B{x_i},t},</annotation></semantics></math></span> where the sum is over all walks of length <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mfrac><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">i</mi><mo fence="true">)</mo></mrow><mi>n</mi></msup><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><msup><mi mathvariant="normal">d</mi><mi>n</mi></msup><mi>t</mi><mtext> </mtext><munderover><mo>∏</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>h</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>t</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc K{\B{x_i},t}\ceq\fr{\p{-\i}^n}{n!}\int_0^t\d^nt\,
\prod_{i=1}^n\fc{h_{x_ix_{i-1}}}{t_i}.</annotation></semantics></math></span> Now, the matrix elements of the full propagator is then the sum over contributions from all walks: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><munder><mo>∑</mo><mrow><mtext>walks </mtext><mi>x</mi><mo>→</mo><mi>y</mi></mrow></munder><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mtext>walk</mtext><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bra y\fc Kt\ket x=\sum_{\text{walks }x\to y}\fc K{\text{walk},t}.</annotation></semantics></math></span> We can imagine a “Hamiltonian graph” formed by taking the basis states as vertices and the Hamiltonian matrix elements as edge weights (the weight of the directed edge from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi mathvariant="normal">i</mi><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>H</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow></mrow><annotation encoding="application/x-tex">-\i\bra y\fc Ht\ket x</annotation></semantics></math></span>). Note that an edge can be a self-loop. Then, the propagator contribution from a walk is given by integrating the product of all the edge weights along the walk (for a trivial walk, which has zero length, the contribution is simply <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>). This formulation may be called the discrete path integral. There is a <a href="https://arxiv.org/abs/2407.11231" target="_blank" rel="external">paper</a> on arXiv that delivers the idea of the Hamiltonian graph. Its difference from the current article is that it only focuses on time-independent Hamiltonians and that it treats self-loops separately instead of just like normal edges. The following two sections (excluding self-loops and the Feynman path integral) largely follow from the ideas from this paper.</p>
<h2 data-label="0.2" id="excluding-self-loops">Excluding self-loops</h2>
<p>In some cases, it may be hard to consider self-loops on the Hamiltonian graph. We may then benefit from counting only walks without self-loops. However, the contributions from each walk will now be different because we have to account for the same walk with self-loops inserted at various positions. In other words, for a walk <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{x_i}</annotation></semantics></math></span> without self-loops, instead of contributing <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc K{\B{x_i},t}</annotation></semantics></math></span>, we now want to find the contribution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc L{\B{x_i},t}</annotation></semantics></math></span> that sums over all ways to insert self-loops into <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{x_i}</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><msub><mi>m</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>m</mi><mi>n</mi></msub><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msubsup><mi>x</mi><mi>i</mi><msub><mi>m</mi><mi>i</mi></msub></msubsup><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc L{\B{x_i},t}=\sum_{m_0,\ldots,m_n=0}^\infty
\fc K{\B{x_i^{m_i}},t},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">m_i</annotation></semantics></math></span> is the number of self-loops inserted at the vertex <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>x</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">x_i</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msubsup><mi>x</mi><mi>i</mi><msub><mi>m</mi><mi>i</mi></msub></msubsup><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{x_i^{m_i}}</annotation></semantics></math></span> is an abbreviation of this walk: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><munder><mrow><msub><mi>x</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>x</mi><mn>0</mn></msub></mrow><mo stretchy="true">⏟</mo></munder><msub><mi>m</mi><mn>0</mn></msub></munder><mo separator="true">,</mo><munder><munder><mrow><msub><mi>x</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>x</mi><mn>1</mn></msub></mrow><mo stretchy="true">⏟</mo></munder><msub><mi>m</mi><mn>1</mn></msub></munder><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><munder><munder><mrow><msub><mi>x</mi><mi>n</mi></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>x</mi><mi>n</mi></msub></mrow><mo stretchy="true">⏟</mo></munder><msub><mi>m</mi><mi>n</mi></msub></munder><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\underbrace{x_0,\ldots,x_0}_{m_0},
\underbrace{x_1,\ldots,x_1}_{m_1},\ldots,
\underbrace{x_n,\ldots,x_n}_{m_n}.</annotation></semantics></math></span></p>
<p>I will show that we can find an expression for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc L{\B{x_i},t}</annotation></semantics></math></span> for the case when the Hamiltonians at different times commute with each other. In this case, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><munderover><mo>∏</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">i</mi><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><mtext> </mtext><msub><mi>h</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc K{\B{x_i},t}=\fr{1}{n!}\prod_{i=1}^n
\p{-\i\int_0^t\d t\,\fc{h_{x_ix_{i-1}}}t}.</annotation></semantics></math></span> Therefore, by the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc L{\B{x_i},t}</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><munder><mo>∑</mo><mrow><msub><mi>m</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>m</mi><mi>n</mi></msub></mrow></munder><mfrac><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow><mrow><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>m</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow></mfrac><munder><mo>∏</mo><mi>i</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">i</mi><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><mtext> </mtext><msub><mi>h</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><msub><mi>x</mi><mi>i</mi></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><msub><mi>m</mi><mi>i</mi></msub></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc L{\B{x_i},t}=\fc K{\B{x_i},t}\sum_{m_0,\ldots,m_n}
\fr{n!}{\p{n+\sum_i m_i}!}
\prod_i\p{-\i\int_0^t\d t\,\fc{h_{x_ix_i}}t}^{m_i}.</annotation></semantics></math></span> For abbreviation, for the rest of this section, we denote <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mi>i</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mi mathvariant="normal">i</mi><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><mi>t</mi><mtext> </mtext><msub><mi>h</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><msub><mi>x</mi><mi>i</mi></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">S_i\ceq-\i\int_0^t\d t\,\fc{h_{x_ix_i}}t</annotation></semantics></math></span>.</p>
<p>Now, we use a trick to replace the factorial in the denominator with an contour integral: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><mi>N</mi><mo stretchy="false">!</mo></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>π</mi><mi mathvariant="normal">i</mi></mrow></mfrac><mo>∮</mo><mi mathvariant="normal">d</mi><mi>z</mi><mfrac><msup><mi mathvariant="normal">e</mi><mi>z</mi></msup><msup><mi>z</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fr1{N!}=\fr1{2\pi\i}\oint\d z\fr{\e^z}{z^{N+1}},</annotation></semantics></math></span> where the contour is a counterclockwise simple closed curve around the origin in the complex plane. We then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>n</mi><mo stretchy="false">!</mo><mtext> </mtext><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>π</mi><mi mathvariant="normal">i</mi></mrow></mfrac><munder><mo>∑</mo><mrow><msub><mi>m</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>m</mi><mi>n</mi></msub></mrow></munder><mo>∮</mo><mi mathvariant="normal">d</mi><mi>z</mi><mfrac><msup><mi mathvariant="normal">e</mi><mi>z</mi></msup><msup><mi>z</mi><mrow><mi>n</mi><mo>+</mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>m</mi><mi>i</mi></msub><mo>+</mo><mn>1</mn></mrow></msup></mfrac><munder><mo>∏</mo><mi>i</mi></munder><msubsup><mi>S</mi><mi>i</mi><msub><mi>m</mi><mi>i</mi></msub></msubsup><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>π</mi><mi mathvariant="normal">i</mi></mrow></mfrac><mo>∮</mo><mi mathvariant="normal">d</mi><mi>z</mi><mfrac><msup><mi mathvariant="normal">e</mi><mi>z</mi></msup><msup><mi>z</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><munder><mo>∏</mo><mi>i</mi></munder><munder><mo>∑</mo><msub><mi>m</mi><mi>i</mi></msub></munder><mfrac><msubsup><mi>S</mi><mi>i</mi><msub><mi>m</mi><mi>i</mi></msub></msubsup><msup><mi>z</mi><msub><mi>m</mi><mi>i</mi></msub></msup></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr{\fc L{\B{x_i},t}}{n!\,\fc K{\B{x_i},t}}
=\fr1{2\pi\i}\sum_{m_0,\ldots,m_n}
\oint\d z\fr{\e^z}{z^{n+\sum_im_i+1}}
\prod_i S_i^{m_i}
=\fr1{2\pi\i}\oint\d z\fr{\e^z}{z^{n+1}}
\prod_i\sum_{m_i}\fr{S_i^{m_i}}{z^{m_i}}.</annotation></semantics></math></span> We have thus separated the sums over different <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">m_i</annotation></semantics></math></span>. Each sum is a geometric series that converges when we choose the contour large enough, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>n</mi><mo stretchy="false">!</mo><mtext> </mtext><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>π</mi><mi mathvariant="normal">i</mi></mrow></mfrac><mo>∮</mo><mi mathvariant="normal">d</mi><mi>z</mi><mfrac><msup><mi mathvariant="normal">e</mi><mi>z</mi></msup><msup><mi>z</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><munder><mo>∏</mo><mi>i</mi></munder><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><msub><mi>S</mi><mi>i</mi></msub><mi mathvariant="normal">/</mi><mi>z</mi></mrow></mfrac><mo>=</mo><munder><mo>∑</mo><mi>i</mi></munder><mfrac><msup><mi mathvariant="normal">e</mi><msub><mi>S</mi><mi>i</mi></msub></msup><mrow><munder><mo>∏</mo><mrow><mi>j</mi><mo mathvariant="normal">≠</mo><mi>i</mi></mrow></munder><mrow><mo fence="true">(</mo><msub><mi>S</mi><mi>i</mi></msub><mo>−</mo><msub><mi>S</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fr{\fc L{\B{x_i},t}}{n!\,\fc K{\B{x_i},t}}
=\fr1{2\pi\i}\oint\d z\fr{\e^z}{z^{n+1}}
\prod_i\fr1{1-S_i/z}
=\sum_i\fr{\e^{S_i}}{\prod_{j\ne i}\p{S_i-S_j}},</annotation></semantics></math></span> where the last step used the residue theorem for each pole at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>=</mo><msub><mi>S</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">z=S_i</annotation></semantics></math></span>. This expression is exactly the expanded form of the <a href="https://en.wikipedia.org/wiki/Divided_differences#Expanded_form" target="_blank" rel="external">divided difference</a> of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msup><mi mathvariant="normal">e</mi><msub><mi>S</mi><mi>i</mi></msub></msup><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\e^{S_i}}</annotation></semantics></math></span>, often denoted <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo fence="true">[</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>S</mi><mi>n</mi></msub><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\e^{\b{S_0,\ldots,S_n}}</annotation></semantics></math></span>. Therefore, <span id="eq:no-self-loops" data-label="(2)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>n</mi><mo stretchy="false">!</mo><mtext> </mtext><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mo fence="true">[</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>S</mi><mi>n</mi></msub><mo fence="true">]</mo></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc L{\B{x_i},t}=n!\,\fc K{\B{x_i},t}\e^{\b{S_0,\ldots,S_n}}.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(2)</annotation></semantics></math></span></span> </span></span></p>
<p>The discrete path integral can then be rewritten in a form that only involves collecting contributions from walks without self-loops: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mtext>walks </mtext><mi>x</mi><mo>→</mo><mi>y</mi></mrow><mtext>no self-loops</mtext></munderover><mi>L</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mtext>walk</mtext><mo separator="true">,</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bra y\fc Kt\ket x=\sum_{\text{walks }x\to y}^{\text{no self-loops}}\fc L{\text{walk},t}.</annotation></semantics></math></span></p>
<h2 data-label="0.3" id="feynman-path-integral">Feynman path integral</h2>
<p>This discrete path integral formulation of the propagator already looks similar to the Feynman path integral, but we have to go a step further to take the continuum limit to actually get there. For simplicity, I will only consider a particle with unvarying mass <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span> moving in a time-independent potential in one dimension. Its Hamiltonian is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>H</mi><mo>=</mo><msup><mi>p</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn><mi>m</mi><mo>+</mo><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">H=p^2/2m+\fc Vx</annotation></semantics></math></span>, and the orthonormal basis is chosen to be the position basis, also denoted as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{\ket x}</annotation></semantics></math></span>.</p>
<p>The more standard way to derive the Feynman path integral is to slice the time integral in Equation <a href="#eq:time-ordered-exp">1</a>, to express the total exponentiation as a product as many small exponentiations, and then to insert <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∫</mo><mi mathvariant="normal">d</mi><mi>x</mi><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mrow><mo fence="true">⟨</mo><mi>x</mi><mo fence="true">∣</mo></mrow></mrow><annotation encoding="application/x-tex">\int\d x\ket x\bra x</annotation></semantics></math></span> between each pair of exponentiations (see, e.g., chapter 6 of <cite>Quantum Field Theory</cite> by Mark Srednicki). However, this approach does not make its connection to the discrete path integral clear. Instead, we will discretize the position space into a lattice with spacing <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span>, use the discrete path integral formulation on this lattice, and then take the continuum limit <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">a\to0</annotation></semantics></math></span> at the end. Now, instead of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">x\in\bR</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>∈</mo><mi>a</mi><mi mathvariant="double-struck">Z</mi></mrow><annotation encoding="application/x-tex">x\in a\bZ</annotation></semantics></math></span>. Each basis vector <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\ket x</annotation></semantics></math></span> now has two nearest neighbors <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∣</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\ket{x-a}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∣</mo><mi>x</mi><mo>+</mo><mi>a</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\ket{x+a}</annotation></semantics></math></span>.</p>
<p>In the position basis, the kinetic part of the Hamiltonian <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>p</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn><mi>m</mi></mrow><annotation encoding="application/x-tex">p^2/2m</annotation></semantics></math></span> is a second derivative operator. From <a href="https://en.wikipedia.org/wiki/Numerical_differentiation#Higher_derivatives" target="_blank" rel="external">numerical differentiation</a>, we can approximate it on the lattice as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><msup><mi>p</mi><mn>2</mn></msup><mrow><mn>2</mn><mi>m</mi></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac><mrow><mo fence="true">(</mo><mn>2</mn><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>−</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mo>+</mo><mi>a</mi><mo fence="true">⟩</mo></mrow><mo>−</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">⟩</mo></mrow><mo fence="true">)</mo></mrow><mrow><mo fence="true">⟨</mo><mi>x</mi><mo fence="true">∣</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr{p^2}{2m}=\fr1{2ma^2}\p{2\ket x-\ket{x+a}-\ket{x-a}}\bra x.</annotation></semantics></math></span> Therefore, the discretized Hamiltonian is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>H</mi><mo>=</mo><munder><mo>∑</mo><mi>x</mi></munder><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac><mrow><mo fence="true">(</mo><mn>2</mn><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>−</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mo>+</mo><mi>a</mi><mo fence="true">⟩</mo></mrow><mo>−</mo><mrow><mo fence="true">∣</mo><mi>x</mi><mo>−</mo><mi>a</mi><mo fence="true">⟩</mo></mrow><mo fence="true">)</mo></mrow><mo>+</mo><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo fence="true">)</mo></mrow><mrow><mo fence="true">⟨</mo><mi>x</mi><mo fence="true">∣</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">H=\sum_x\p{\fr1{2ma^2}\p{2\ket x-\ket{x+a}-\ket{x-a}}+\fc Vx\ket x}\bra x.</annotation></semantics></math></span> Its matrix elements are then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>h</mi><mrow><mi>y</mi><mi>x</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac><mrow><mo fence="true">(</mo><mn>2</mn><msub><mi>δ</mi><mrow><mi>y</mi><mo separator="true">,</mo><mi>x</mi></mrow></msub><mo>−</mo><msub><mi>δ</mi><mrow><mi>y</mi><mo separator="true">,</mo><mi>x</mi><mo>+</mo><mi>a</mi></mrow></msub><mo>−</mo><msub><mi>δ</mi><mrow><mi>y</mi><mo separator="true">,</mo><mi>x</mi><mo>−</mo><mi>a</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>+</mo><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><msub><mi>δ</mi><mrow><mi>y</mi><mo separator="true">,</mo><mi>x</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">h_{yx}=\fr1{2ma^2}\p{2\dlt_{y,x}-\dlt_{y,x+a}-\dlt_{y,x-a}}+\fc Vx\dlt_{y,x}.</annotation></semantics></math></span> Conceptually, it consists of on-site energy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">1/ma^2+\fc Vx</annotation></semantics></math></span> and nearest-neighbor hops. The on-site energy looks bothersome, but we can remove it if we only consider walks without self-loops. Equation <a href="#eq:no-self-loops">2</a> becomes <span id="eq:discrete-particle" data-label="(3)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mrow><mo fence="true">(</mo><mfrac><mi>β</mi><mrow><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mi>n</mi></msup><munderover><mo>∑</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>x</mi><mi>n</mi></msub><mo>=</mo><mi>y</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mi>x</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></munderover><msup><mi mathvariant="normal">e</mi><mrow><mo fence="true">[</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>S</mi><mi>n</mi></msub><mo fence="true">]</mo></mrow></msup><munderover><mo>∏</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>δ</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>+</mo><mi>a</mi></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>δ</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><mi>a</mi></mrow></msub><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\bra y\fc Kt\ket x
=\sum_{n=0}^\infty\p{\fr\beta{ma^2}}^n
\sum_{\B{x_i}}^{\substack{x_n=y\\x_0=x}}\e^{\b{S_0,\ldots,S_n}}
\prod_{i=1}^n\p{\fr12\dlt_{x_i,x_{i-1}+a}+\fr12\dlt_{x_i,x_{i-1}-a}},</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(3)</annotation></semantics></math></span></span> </span></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mi mathvariant="normal">i</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">\beta=\i t</annotation></semantics></math></span> is the imaginary time, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mi>i</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mi>β</mi><mrow><mo fence="true">(</mo><mn>1</mn><mi mathvariant="normal">/</mi><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup><mo>+</mo><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">S_i\ceq-\beta\p{1/ma^2+\fc V{x_i}}</annotation></semantics></math></span> is defined for the same abbreviation reason as the previous section. The terms proportional to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>δ</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow></msub></mrow><annotation encoding="application/x-tex">\dlt_{x_i,x_{i-1}}</annotation></semantics></math></span> in the multiplicant are omitted because we only consider walks without self-loops. The rest of this section is done under a Wick rotation so that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> is assumed to be a positive real parameter.</p>
<p>First, let us tackle the divided difference <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo fence="true">[</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>S</mi><mi>n</mi></msub><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\e^{\b{S_0,\ldots,S_n}}</annotation></semantics></math></span>. Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><msub><mi>S</mi><mi>i</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>S</mi><mi>i</mi></msub><mo>−</mo><mover accent="true"><mi>S</mi><mo>ˉ</mo></mover></mrow><annotation encoding="application/x-tex">\Dlt S_i\ceq S_i-\bar S</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>S</mi><mo>ˉ</mo></mover><mo><mi mathvariant="normal">≔</mi></mo><msub><mo>∑</mo><mi>i</mi></msub><mi>S</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\bar S\ceq\sum_i S/\p{n+1}</annotation></semantics></math></span> is the mean of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>S</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{S_i}</annotation></semantics></math></span>. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><msub><mi>S</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">\Dlt S_i</annotation></semantics></math></span> is of order unity (while <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">S_i</annotation></semantics></math></span> is of order <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\beta/ma^2</annotation></semantics></math></span>, which is much larger than unity for small <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span>). Then, from the expanded form of the divided difference, we can easily get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo fence="true">[</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>S</mi><mi>n</mi></msub><mo fence="true">]</mo></mrow></msup><mo>=</mo><msup><mi mathvariant="normal">e</mi><mover accent="true"><mi>S</mi><mo>ˉ</mo></mover></msup><msup><mi mathvariant="normal">e</mi><mrow><mo fence="true">[</mo><mi mathvariant="normal">Δ</mi><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><mi mathvariant="normal">Δ</mi><msub><mi>S</mi><mi>n</mi></msub><mo fence="true">]</mo></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\e^{\b{S_0,\ldots,S_n}}=\e^{\bar S}\e^{\b{\Dlt S_0,\ldots,\Dlt S_n}}.</annotation></semantics></math></span> Recalling how we initially derived the divided difference, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo fence="true">[</mo><mi mathvariant="normal">Δ</mi><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><mi mathvariant="normal">Δ</mi><msub><mi>S</mi><mi>n</mi></msub><mo fence="true">]</mo></mrow></msup><mo>=</mo><munder><mo>∑</mo><mrow><msub><mi>m</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>m</mi><mi>n</mi></msub></mrow></munder><mfrac><mn>1</mn><mrow><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>m</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow></mfrac><munder><mo>∏</mo><mi>i</mi></munder><mi mathvariant="normal">Δ</mi><msubsup><mi>S</mi><mi>i</mi><msub><mi>m</mi><mi>i</mi></msub></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\e^{\b{\Dlt S_0,\ldots,\Dlt S_n}}=\sum_{m_0,\ldots,m_n}\fr1{\p{n+\sum_im_i}!}\prod_i\Dlt S_i^{m_i}.</annotation></semantics></math></span> When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> is large (the reason of which will be explained in a minute), we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo stretchy="false">!</mo><mo>≪</mo><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo><mo>≪</mo><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>2</mn><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">n!\ll\p{n+1}!\ll\p{n+2}!</annotation></semantics></math></span> etc., while <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Q</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">Q_i</annotation></semantics></math></span> is of the order of unity, so we only need to consider the terms with the lowest <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>m</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">\sum_im_i</annotation></semantics></math></span>. The leading term is the term with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>m</mi><mi>i</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\sum_im_i=0</annotation></semantics></math></span>, which is trivially <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mi>n</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">1/n!</annotation></semantics></math></span>, so we have <span id="eq:observation-3" data-label="(4)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo fence="true">[</mo><msub><mi>S</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>S</mi><mi>n</mi></msub><mo fence="true">]</mo></mrow></msup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mover accent="true"><mi>S</mi><mo>ˉ</mo></mover></mrow></msup><mo>=</mo><mfrac><mn>1</mn><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mi>β</mi><mrow><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac><mo>−</mo><mfrac><mi>β</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mfrac><munder><mo>∑</mo><mi>i</mi></munder><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\e^{\b{S_0,\ldots,S_n}}=\fr1{n!}\e^{\i\bar S}
=\fr1{n!}\fc\exp{-\fr{\beta}{ma^2}-\fr{\beta}{n+1}\sum_i\fc V{x_i}}.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(4)</annotation></semantics></math></span></span> </span></span> This contributes to the potential part of the action.</p>
<p>Substitute Equation <a href="#eq:observation-3">4</a> into Equation <a href="#eq:discrete-particle">3</a>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi></mrow></msup><msup><mi>λ</mi><mi>n</mi></msup></mrow><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><munderover><mo>∑</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>x</mi><mi>n</mi></msub><mo>=</mo><mi>y</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mi>x</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></munderover><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mi>β</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mfrac><munder><mo>∑</mo><mi>i</mi></munder><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><munderover><mo>∏</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>δ</mi><mo>⋯</mo></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>δ</mi><mo>⋯</mo></msub><mtext> </mtext><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\bra y\fc Kt\ket x
=\sum_{n=0}^\infty\fr{\e^{-\lmd}\lmd^n}{n!}
\sum_{\B{x_i}}^{\substack{x_n=y\\x_0=x}}
\fc\exp{-\fr{\beta}{n+1}\sum_i\fc V{x_i}}\prod_{i=1}^n\p{\fr12\dlt_\cdots+\fr12\dlt_\cdots},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>β</mi><mi mathvariant="normal">/</mi><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\lmd\ceq\beta/ma^2</annotation></semantics></math></span> is a large positive number when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span> is small. Observe that the factor <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi></mrow></msup><msup><mi>λ</mi><mi>n</mi></msup><mi mathvariant="normal">/</mi><mi>n</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">\e^{-\lmd}\lmd^n/n!</annotation></semantics></math></span> is the probability mass function of the Poisson distribution with mean <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span> evaluated at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>. When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span> is very large, the Poisson distribution can be approximated by a delta distribution because the standard deviation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msqrt><mi>λ</mi></msqrt></mrow><annotation encoding="application/x-tex">\sqrt\lmd</annotation></semantics></math></span> is much smaller than <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span>. In other words, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi></mrow></msup><msup><mi>λ</mi><mi>n</mi></msup><mi mathvariant="normal">/</mi><mi>n</mi><mo stretchy="false">!</mo><mo>≈</mo><msub><mi>δ</mi><mrow><mi>n</mi><mo separator="true">,</mo><mi>λ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\e^{-\lmd}\lmd^n/n!\approx\dlt_{n,\lmd}</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>x</mi><mi>λ</mi></msub><mo>=</mo><mi>y</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>x</mi><mn>0</mn></msub><mo>=</mo><mi>x</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></munderover><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mi>β</mi><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mfrac><munder><mo>∑</mo><mi>i</mi></munder><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><munderover><mo>∏</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>λ</mi></munderover><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>δ</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>+</mo><mi>a</mi></mrow></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>δ</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><mi>a</mi></mrow></msub><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bra y\fc Kt\ket x
=\sum_{\B{x_i}}^{\substack{x_\lmd=y\\x_0=x}}
\fc\exp{-\fr{\beta}{n+1}\sum_i\fc V{x_i}}
\prod_{i=1}^\lmd\p{\fr12\dlt_{x_i,x_{i-1}+a}+\fr12\dlt_{x_i,x_{i-1}-a}}.</annotation></semantics></math></span></p>
<details>
<summary>
Imaginary parameter Poisson distribution
</summary>
<p>It was this point that got me thinking the most when I originally tried to derive the Feynman path integral without the Wick rotation. While the approximation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi></mrow></msup><msup><mi>λ</mi><mi>n</mi></msup><mi mathvariant="normal">/</mi><mi>n</mi><mo stretchy="false">!</mo><mo>≈</mo><msub><mi>δ</mi><mrow><mi>n</mi><mo separator="true">,</mo><mi>λ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\e^{-\lmd}\lmd^n/n!\approx\dlt_{n,\lmd}</annotation></semantics></math></span> is valid, the problem is whether we can likewise say <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi mathvariant="normal">i</mi><mi>λ</mi></mrow></msup><msup><mrow><mo fence="true">(</mo><mi mathvariant="normal">i</mi><mi>λ</mi><mo fence="true">)</mo></mrow><mi>n</mi></msup><mi mathvariant="normal">/</mi><mi>n</mi><mo stretchy="false">!</mo><mo>≈</mo><msub><mi>δ</mi><mrow><mi>n</mi><mo separator="true">,</mo><mi>λ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\e^{-\i\lmd}\p{\i\lmd}^n/n!\approx\dlt_{n,\lmd}</annotation></semantics></math></span> (or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>δ</mi><mrow><mi>n</mi><mo separator="true">,</mo><mi mathvariant="normal">i</mi><mi>λ</mi></mrow></msub></mrow><annotation encoding="application/x-tex">\dlt_{n,\i\lmd}</annotation></semantics></math></span>). While it is true that the left-hand side has a very large magnitude when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mi>λ</mi></mrow><annotation encoding="application/x-tex">n=\lmd</annotation></semantics></math></span> so that it dominates the sum, it does not actually approximate the right-hand side because the right-hand side is of order unity and is real. In fact, the summand is rapidly oscillating when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> is near <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span>, so the numbers of different phases actually cancel each other out and give a number with small magnitude in the end.</p>
<p>If you actually try to walk through the calculation without the Wick rotation, you will find that what you need to justify in the end is something like this (there are some other factors dependent on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> in the summand, but we can remove them by some techniques, so let us ignore them for simplicity): <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi mathvariant="normal">i</mi><mi>λ</mi></mrow></msup><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mi mathvariant="normal">i</mi><mi>λ</mi><mo fence="true">)</mo></mrow><mi>n</mi></msup><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow></mfrac><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>M</mi><mi mathvariant="normal">/</mi><mi>n</mi></mrow></msup><mo>≈</mo><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>M</mi><mi mathvariant="normal">/</mi><mi>λ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\e^{-\i\lmd}\sum_{n=0}^\infty\fr{\p{\i\lmd}^n}{n!}\e^{-M/n}\approx \e^{\i M/\lmd},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> are both large positive numbers. This is unfortunately false, neither in magnitude nor in phase, and not even up to an overall factor.</p>
<p>While it is true that a lot of things can be carried over by analytic continuation, which is the reason why the Wick rotation can give the correct result in many cases, you can do the analytic continuation only if every step you take is actually analytic. Having an approximation based on the magnitude of each summand is not analytic because a fast oscillation can change the result drastically. Therefore, I am not satisfied with this derivation with the Wick rotation, but I have not found a better way to do it yet.</p>
</details>
<p>If the factor involving <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span> were not there in the summand, the sum of products is exactly the probability that a random walk starting at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> ends at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> after <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span> steps, where at each step the walk moves to the left or right nearest neighbor with equal probability <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">1/2</annotation></semantics></math></span>. Instead of considering one random walk with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span> steps, we can consider <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> random walks with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>λ</mi><mi mathvariant="normal">/</mi><mi>N</mi></mrow><annotation encoding="application/x-tex">l\ceq\lmd/N</annotation></semantics></math></span> steps each, where both <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> are large. Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span> is large, we can approximate the distribution of the position at the end of the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi></mrow><annotation encoding="application/x-tex">j</annotation></semantics></math></span>th random walk as a normally distributed random variable <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>j</mi></msub></mrow><annotation encoding="application/x-tex">q_j</annotation></semantics></math></span> with variance <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">la^2</annotation></semantics></math></span>. Note that even though <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span> is large, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">la^2</annotation></semantics></math></span> is still very small, so the majority of contribution in the sum only comes from those paths where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>x</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">x_i</annotation></semantics></math></span> does not differ too much from the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>q</mi><mi>j</mi></msub></mrow><annotation encoding="application/x-tex">q_j</annotation></semantics></math></span> of its corresponding part of random walk. Therefore, if we fix a set of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{q_j}</annotation></semantics></math></span>, the factor involving <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span> in the summand can be approximated by replacing <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc V{x_i}</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc V{q_j}</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>x</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">x_i</annotation></semantics></math></span> in the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>j</mi></mrow><annotation encoding="application/x-tex">j</annotation></semantics></math></span>th random walk segment. We can then pull this factor out of the sum over <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{x_i}</annotation></semantics></math></span> (but still inside the integral over <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{q_j}</annotation></semantics></math></span>). Therefore, we get
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mrow><mo fence="true">{</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">}</mo></mrow><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>q</mi><mi>N</mi></msub><mo>=</mo><mi>y</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>q</mi><mn>0</mn></msub><mo>=</mo><mi>x</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></msubsup><mi mathvariant="normal">d</mi><msub><mi>q</mi><mn>1</mn></msub><mo>⋯</mo><mi mathvariant="normal">d</mi><msub><mi>q</mi><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msub><munderover><mo>∑</mo><mrow><mo fence="true">{</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><mrow><msub><mi>x</mi><mrow><mi>j</mi><mi>l</mi></mrow></msub><mo>=</mo><msub><mi>q</mi><mi>j</mi></msub></mrow></munderover><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mstyle scriptlevel="0" displaystyle="false"><mfrac><mrow><mo>−</mo><mi>β</mi></mrow><mrow><mi>n</mi><mo>+</mo><mn>1</mn></mrow></mfrac></mstyle><munder><mo>∑</mo><mi>i</mi></munder><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><munderover><mo>∏</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>λ</mi></munderover><mrow><mo fence="true">(</mo><mstyle scriptlevel="0" displaystyle="false"><mfrac><mn>1</mn><mn>2</mn></mfrac></mstyle><msub><mi>δ</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>+</mo><mi>a</mi></mrow></msub><mo>+</mo><mstyle scriptlevel="0" displaystyle="false"><mfrac><mn>1</mn><mn>2</mn></mfrac></mstyle><msub><mi>δ</mi><mrow><msub><mi>x</mi><mi>i</mi></msub><mo separator="true">,</mo><msub><mi>x</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>−</mo><mi>a</mi></mrow></msub><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msubsup><mo>∫</mo><mrow><mo fence="true">{</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">}</mo></mrow><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>q</mi><mi>N</mi></msub><mo>=</mo><mi>y</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>q</mi><mn>0</mn></msub><mo>=</mo><mi>x</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></msubsup><mi mathvariant="normal">d</mi><msub><mi>q</mi><mn>1</mn></msub><mo>⋯</mo><mi mathvariant="normal">d</mi><msub><mi>q</mi><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msub><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mstyle scriptlevel="0" displaystyle="false"><mfrac><mrow><mo>−</mo><mi>β</mi></mrow><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></mfrac></mstyle><munder><mo>∑</mo><mi>j</mi></munder><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><munderover><mo>∏</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo fence="true">(</mo><mi>a</mi><mstyle scriptlevel="0" displaystyle="false"><mfrac><mn>1</mn><msqrt><mrow><mn>2</mn><mi>π</mi><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></msqrt></mfrac></mstyle><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mstyle scriptlevel="0" displaystyle="false"><mfrac><msup><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>−</mo><msub><mi>q</mi><mrow><mi>j</mi><mo>−</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mn>2</mn><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac></mstyle><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\bra y\fc Kt\ket x
&amp;=\int_{\B{q_j}}^{\substack{q_N=y\\q_0=x}}\d q_1\cdots\d q_{N-1}
\sum_{\B{x_i}}^{x_{jl}=q_j}\fc\exp{\tfr{-\beta}{n+1}\sum_i\fc V{x_i}}
\prod_{i=1}^\lmd\p{\tfr12\dlt_{x_i,x_{i-1}+a}+\tfr12\dlt_{x_i,x_{i-1}-a}}\\
&amp;=\int_{\B{q_j}}^{\substack{q_N=y\\q_0=x}}\d q_1\cdots\d q_{N-1}
\fc\exp{\tfr{-\beta}{N+1}\sum_j\fc V{q_j}}
\prod_{j=1}^N\p{a\tfr1{\sqrt{2\pi la^2}}\fc\exp{-\tfr{\p{q_j-q_{j-1}}^2}{2la^2}}},
\end{align*}</annotation></semantics></math></span> where the extra factor of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span> in the multiplicant comes from converting a probability density to a probability (since the probability that the position ends up at the lattice site <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span> times the probability density at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>).</p>
<p>Combining the product of exponentiations into the exponentiation of a sum, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munderover><mo>∏</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mrow><mo fence="true">(</mo><mi>a</mi><mfrac><mn>1</mn><msqrt><mrow><mn>2</mn><mi>π</mi><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></msqrt></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><msup><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>−</mo><msub><mi>q</mi><mrow><mi>j</mi><mo>−</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mn>2</mn><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><msup><msqrt><mrow><mn>2</mn><mi>π</mi><mi>l</mi></mrow></msqrt><mi>N</mi></msup></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>−</mo><msub><mi>q</mi><mrow><mi>j</mi><mo>−</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mn>2</mn><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\prod_{j=1}^N\p{a\fr1{\sqrt{2\pi la^2}}\fc\exp{-\fr{\p{q_j-q_{j-1}}^2}{2la^2}}}
=\fr1{\sqrt{2\pi l}^N}
\fc\exp{-\sum_{j=1}^N\fr{\p{q_j-q_{j-1}}^2}{2la^2}}.</annotation></semantics></math></span> If we introduce the time step <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>t</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>β</mi><mi mathvariant="normal">/</mi><mi>N</mi><mo>=</mo><mi>m</mi><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\Dlt t\ceq\beta/N=mla^2</annotation></semantics></math></span>, for large <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>j</mi></msub><mo>−</mo><msub><mi>q</mi><mrow><mi>j</mi><mo>−</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mn>2</mn><mi>l</mi><msup><mi>a</mi><mn>2</mn></msup></mrow></mfrac><mo>=</mo><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><mi mathvariant="normal">Δ</mi><mi>t</mi><mtext> </mtext><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>m</mi><msup><mrow><mo fence="true">(</mo><mfrac><mrow><msub><mi>q</mi><mi>j</mi></msub><mo>−</mo><msub><mi>q</mi><mrow><mi>j</mi><mo>−</mo><mn>1</mn></mrow></msub></mrow><mrow><mi mathvariant="normal">Δ</mi><mi>t</mi></mrow></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mi>β</mi></msubsup><mi mathvariant="normal">d</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> </mtext><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>m</mi><mover accent="true"><mi>q</mi><mo>˙</mo></mover><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\sum_{j=1}^N\fr{\p{q_j-q_{j-1}}^2}{2la^2}
=\sum_{j=1}^N\Dlt t\,\fr12m\p{\fr{q_j-q_{j-1}}{\Dlt t}}^2
=\int_0^\beta\d t&#x27;\,\fr12m\fc{\dot q}{t&#x27;}^2.</annotation></semantics></math></span> Similarly, for the potential part we introduce the time step <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Δ</mi><mi>t</mi><mo>=</mo><mi>β</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\Dlt t=\beta/\p{N+1}</annotation></semantics></math></span> <a href="#fn2" class="footnote-ref" id="fnref2" role="doc-noteref"><sup>2</sup></a>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mi>β</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>N</mi></munderover><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>0</mn></mrow><mi>N</mi></munderover><mi mathvariant="normal">Δ</mi><mi>t</mi><mtext> </mtext><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mi>β</mi></msubsup><mi mathvariant="normal">d</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> </mtext><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr\beta{N+1}\sum_{j=0}^N\fc V{q_j}
=\sum_{j=0}^N\Dlt t\,\fc V{q_j}
=\int_0^\beta\d t&#x27;\,\fc V{\fc q{t&#x27;}}.</annotation></semantics></math></span> Here, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc q{t&#x27;}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mover accent="true"><mi>q</mi><mo>˙</mo></mover><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\dot q}{t&#x27;}</annotation></semantics></math></span> are the position and its time at time <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">t&#x27;</annotation></semantics></math></span> for a particle undergoing these random walks. Therefore, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><msup><msqrt><mfrac><mrow><mi>m</mi><msup><mi>a</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>π</mi><mi mathvariant="normal">Δ</mi><mi>t</mi></mrow></mfrac></msqrt><mi>N</mi></msup><msubsup><mo>∫</mo><mrow><mo fence="true">{</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">}</mo></mrow><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>q</mi><mi>N</mi></msub><mo>=</mo><mi>y</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><msub><mi>q</mi><mn>0</mn></msub><mo>=</mo><mi>x</mi></mrow></mstyle></mtd></mtr></mtable></mstyle></msubsup><mi mathvariant="normal">d</mi><msub><mi>q</mi><mn>1</mn></msub><mo>⋯</mo><mi mathvariant="normal">d</mi><msub><mi>q</mi><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msub><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><msubsup><mo>∫</mo><mn>0</mn><mi>β</mi></msubsup><mi mathvariant="normal">d</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>m</mi><mover accent="true"><mi>q</mi><mo>˙</mo></mover><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bra y\fc Kt\ket x
=\sqrt{\fr{ma^2}{2\pi\Dlt t}}^N
\int_{\B{q_j}}^{\substack{q_N=y\\q_0=x}}\d q_1\cdots\d q_{N-1}
\fc\exp{-\int_0^\beta\d t&#x27;\p{\fr12m\fc{\dot q}{t&#x27;}^2+\fc V{\fc q{t&#x27;}}}}.</annotation></semantics></math></span></p>
<p>Finally, simply revert the Wick rotation by substituting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mi mathvariant="normal">i</mi><mi>t</mi></mrow><annotation encoding="application/x-tex">\beta=\i t</annotation></semantics></math></span> and rewrite the integral over <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>q</mi><mi>j</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{q_j}</annotation></semantics></math></span> as a path integral over all paths <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc q{t&#x27;}</annotation></semantics></math></span>. Then, we get the Feynman path integral expression of the propagator: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">∣</mo></mrow><mi>K</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">∣</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><msup><mo>∫</mo><mstyle scriptlevel="1"><mtable rowspacing="0.1em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><mi>q</mi><mrow></mrow><mrow><mo fence="true">(</mo><mi>t</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>y</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="1" displaystyle="false"><mrow><mi>q</mi><mrow></mrow><mrow><mo fence="true">(</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow></mstyle></mtd></mtr></mtable></mstyle></msup><mi mathvariant="script">D</mi><mi>q</mi><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi mathvariant="normal">i</mi><msubsup><mo>∫</mo><mn>0</mn><mi>t</mi></msubsup><mi mathvariant="normal">d</mi><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>m</mi><mover accent="true"><mi>q</mi><mo>˙</mo></mover><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>−</mo><mi>V</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>t</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bra y\fc Kt\ket x
=\int^{\substack{\fc qt=y\\\fc q0=0}}
\mcal Dq\fc\exp{\i\int_0^t\d t&#x27;\p{\fr12m\fc{\dot q}{t&#x27;}^2-\fc V{\fc q{t&#x27;}}}}.</annotation></semantics></math></span> This completes the derivation.</p>
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
<hr />
<ol>
<li id="fn1"><p>You may wonder why I use the word “walk” while the resultant thing is called a “path” integral. This is just because “walk” is the correct term in graph theory that describes the object we use here, and the sum over all the walks is called a “path” integral because it is what physicists call. In graph theory, however, a path is a walk in which all vertices are distinct.<a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
<li id="fn2"><p>Do not ask my why it is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">N+1</annotation></semantics></math></span>. It is not important.<a href="#fnref2" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
</ol>
</section>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="physics" /><category term="ode" /><category term="quantum mechanics" /><category term="graph theory" /><category term="stochastic process" /><category term="long paper" /><summary type="html"><![CDATA[The Schrödinger equation is an ODE, so we can approach its solution through Picard iteration. This approach leads to a sum over walks on the graph formed by an orthonormal basis as vertices and the Hamiltonian matrix elements as edge weights. This sum is exactly the Feynman path integral if we choose the position basis and take the continuum limit.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-11-13-picard-path-integral.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-11-13-picard-path-integral.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Imperative programming in Nix language]]></title><link href="https://ulysseszh.github.io/programming/2025/11/06/nix-imperative.html" rel="alternate" type="text/html" title="Imperative programming in Nix language" /><published>2025-11-06T23:47:51-08:00</published><updated>2025-11-06T23:47:51-08:00</updated><id>https://ulysseszh.github.io/programming/2025/11/06/nix-imperative</id><content type="html" xml:base="https://ulysseszh.github.io/programming/2025/11/06/nix-imperative.html"><![CDATA[<p>Nix, a purely functional language best known for describing reproducible systems, seems to have just enough power to <em>model</em> imperative behavior. This article walks through a small experiment: an embedded DSL in Nix that lets you write programs with imperative features, such as mutable variables, loops, exceptions, functions, and I/O.</p>
<p>This article is an expansion of my earlier <a href="https://discourse.nixos.org/t/interactive-program-written-in-nix-lang/71536" target="_blank" rel="external">forum post</a> about writing an interactive program in Nix.</p>
<h2 data-label="0.1" id="assign-and-print">Assign and print</h2>
<p>Monads are the standard abstraction for mutation of states. A monad wraps values with extra information (such as side effects). A monadic operation can be seen as a function from some <em>state</em> to a new <em>state</em>, possibly with side effects encoded as data rather than real I/O.</p>
<p>This DSL adopts that idea. Each statement is a function of a state that returns an instruction of how to mutate the state. Consider this <code>do</code> function that “executes” a statement:</p>
<pre><code><span class="nv">do</span> <span class="o">=</span> <span class="nv">statement</span><span class="p">:</span> <span class="nv">state</span><span class="p">:</span> <span class="nv">state</span> <span class="o">//</span> <span class="nv">statement</span> <span class="nv">state</span> <span class="nv">state</span><span class="p">;</span>
</code></pre>
<p class="no-indent">
Each statement receives the current state and returns a function that mutates the current state into an updated one. It is equivalent to a monadic bind, but the monads are very trivial here because the unit operation is just the identity function.
</p>
<p>Let us define some simple statements such as assignment and printing to the console:</p>
<pre><code><span class="c">#!/usr/bin/env nix-build</span>

<span class="kd">let</span>
	<span class="nv">do</span> <span class="o">=</span> <span class="nv">statement</span><span class="p">:</span> <span class="nv">state</span><span class="p">:</span> <span class="nv">state</span> <span class="o">//</span> <span class="nv">statement</span> <span class="nv">state</span> <span class="nv">state</span><span class="p">;</span>
	<span class="nv">assign</span> <span class="o">=</span> <span class="nv">variables</span><span class="p">:</span> <span class="nv">state</span><span class="p">:</span> <span class="nv">state</span> <span class="o">//</span> <span class="nv">variables</span><span class="p">;</span>
	<span class="nv">print</span> <span class="o">=</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">trace</span><span class="p">;</span>

	<span class="nv">state0</span> <span class="o">=</span> <span class="p">{</span> <span class="p">};</span>
	<span class="nv">state1</span> <span class="o">=</span> <span class="nv">do</span> <span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="p">})</span> <span class="nv">state0</span><span class="p">;</span>
	<span class="nv">state2</span> <span class="o">=</span> <span class="nv">do</span> <span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"Current value: </span><span class="si">${</span><span class="kr">toString</span> <span class="nv">state</span><span class="o">.</span><span class="nv">i</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> <span class="nv">state1</span><span class="p">;</span>
	<span class="nv">state3</span> <span class="o">=</span> <span class="nv">do</span> <span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="nv">state</span><span class="o">.</span><span class="nv">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="p">})</span> <span class="nv">state2</span><span class="p">;</span>
	<span class="nv">state4</span> <span class="o">=</span> <span class="nv">do</span> <span class="p">(</span><span class="nv">state</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"Current value: </span><span class="si">${</span><span class="kr">toString</span> <span class="nv">state</span><span class="o">.</span><span class="nv">i</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span> <span class="nv">state3</span><span class="p">;</span>

<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="nv">state4</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<p class="no-indent">
The final <code>builtins.seq</code> call forces the final state to be evaluated so that all the statements will be executed. There is no need for a <code>builtins.deepSeq</code> because any data that we wish to see via <code>print</code> will be force evaluated. The output:
</p>
<pre><code>trace: Current value: 1
trace: Current value: 2
</code></pre>
<p class="no-indent">
This is nice! We can slightly modify <code>do</code> to make it handle a list of statements instead so that we do not have to call <code>do</code> for each statement. We can also rename <code>state</code> to just <code>_</code> so that the code does not look too verbose.
</p>
<pre><code><span class="c">#!/usr/bin/env nix-build</span>

<span class="kd">let</span>
	<span class="nv">do</span> <span class="o">=</span> <span class="nv">statements</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span>
		<span class="k">if</span> <span class="nv">statements</span> <span class="o">==</span> <span class="p">[</span> <span class="p">]</span> <span class="k">then</span> <span class="nv">_</span>
		<span class="k">else</span> <span class="nv">do</span> <span class="p">(</span><span class="kr">builtins</span><span class="o">.</span><span class="nv">tail</span> <span class="nv">statements</span><span class="p">)</span> <span class="p">(</span><span class="nv">_</span> <span class="o">//</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">head</span> <span class="nv">statements</span> <span class="nv">_</span> <span class="nv">_</span><span class="p">);</span>
	<span class="nv">assign</span> <span class="o">=</span> <span class="nv">variables</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span> <span class="nv">_</span> <span class="o">//</span> <span class="nv">variables</span><span class="p">;</span>
	<span class="nv">print</span> <span class="o">=</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">trace</span><span class="p">;</span>

<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span><span class="nv">do</span> <span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="mi">1</span><span class="p">;</span> <span class="p">})</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"Current value: </span><span class="si">${</span><span class="kr">toString</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="p">})</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"Current value: </span><span class="si">${</span><span class="kr">toString</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
<span class="p">]</span> <span class="p">{</span> <span class="p">})</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<p class="no-indent">
This gives the same output as before. I used a recursion to iterate over the list of statements instead of just using <code>builtins.foldl'</code> because this form is easier to be modified later to incorporate exception handling.
</p>
<h2 data-label="0.2" id="exception-handling">Exception handling</h2>
<p>Next, we add exception handling to the DSL. I introduce it before control flow because I will make loops rely on exceptions to implement <code>break</code> and <code>continue</code>.</p>
<p>For simplicity, I will make throwing an exception just setting a special variable <code>_thrown_</code> in the state:</p>
<pre><code><span class="kr">throw</span> <span class="o">=</span> <span class="nv">thrown</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">_thrown_</span> <span class="o">=</span> <span class="nv">thrown</span><span class="p">;</span> <span class="p">};</span>
</code></pre>
<p class="no-indent">
(Notice that this shadows the built-in <code>throw</code> function, so we will refer to the built-in one as <code>builtins.throw</code> if needed.) In <code>do</code>, we need to check whether an exception has been thrown after each statement. If so, we stop executing further statements.
</p>
<pre><code><span class="nv">do</span> <span class="o">=</span> <span class="nv">statements</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span>
	<span class="k">if</span> <span class="nv">statements</span> <span class="o">==</span> <span class="p">[</span> <span class="p">]</span> <span class="k">then</span> <span class="nv">_</span>
	<span class="k">else</span> <span class="kd">let</span> <span class="nv">result</span> <span class="o">=</span> <span class="nv">_</span> <span class="o">//</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">head</span> <span class="nv">statements</span> <span class="nv">_</span> <span class="nv">_</span><span class="p">;</span> <span class="kn">in</span>
		<span class="k">if</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">hasAttr</span> <span class="s2">"_thrown_"</span> <span class="nv">result</span> <span class="k">then</span> <span class="nv">result</span>
		<span class="k">else</span> <span class="nv">do</span> <span class="p">(</span><span class="kr">builtins</span><span class="o">.</span><span class="nv">tail</span> <span class="nv">statements</span><span class="p">)</span> <span class="nv">result</span><span class="p">;</span>
</code></pre>
<p class="no-indent">
Then, in the <code>try</code> statement, we check for <code>_thrown_</code> after executing the <code>try</code> block. If an exception was thrown, we execute the <code>catch</code> block with the exception value passed to it (after unsetting the <code>_thrown_</code> variable).
</p>
<pre><code><span class="nv">try</span> <span class="o">=</span> <span class="nv">statements</span><span class="p">:</span> <span class="nv">catch</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span> <span class="kd">let</span> <span class="nv">result</span> <span class="o">=</span> <span class="nv">do</span> <span class="nv">statements</span> <span class="nv">_</span><span class="p">;</span> <span class="kn">in</span>
	<span class="k">if</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">hasAttr</span> <span class="s2">"_thrown_"</span> <span class="nv">result</span> <span class="k">then</span>
		<span class="nv">do</span> <span class="p">(</span><span class="nv">catch</span> <span class="nv">result</span><span class="o">.</span><span class="nv">_thrown_</span><span class="p">)</span> <span class="p">(</span><span class="kr">removeAttrs</span> <span class="nv">result</span> <span class="p">[</span> <span class="s2">"_thrown_"</span> <span class="p">])</span>
	<span class="k">else</span> <span class="nv">result</span><span class="p">;</span>
</code></pre>
<p class="no-indent">
With these definitions, we can now write code that throws and catches exceptions:
</p>
<pre><code><span class="kd">let</span> <span class="c"># ...</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span><span class="nv">do</span> <span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">try</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="kr">throw</span> <span class="s2">"Some error message."</span><span class="p">)</span>
	<span class="p">]</span> <span class="p">(</span><span class="nv">exception</span><span class="p">:</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"Caught exception: </span><span class="si">${</span><span class="nv">exception</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
	<span class="p">]))</span>
<span class="p">]</span> <span class="p">{</span> <span class="p">})</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<h2 data-label="0.3" id="control-flow">Control flow</h2>
<p>The control flow statements include <code>if</code> and <code>while</code>, and the latter is accompanied by <code>break</code> and <code>continue</code>. Both of them needs a condition expression that evaluates to a boolean value. The <code>while</code> condition will be evaluated multiple times for different states, so it at least needs to be a function that maps the state to a boolean instead of just a boolean. While the <code>if</code> condition can be a simple boolean expression, I will make it a function as well for consistency.</p>
<pre><code><span class="k">if</span><span class="err">'</span> <span class="o">=</span> <span class="nv">condition</span><span class="p">:</span> <span class="kc">true</span><span class="nv">Statements</span><span class="p">:</span> <span class="kc">false</span><span class="nv">Statements</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span>
	<span class="nv">do</span> <span class="p">(</span><span class="k">if</span> <span class="nv">condition</span> <span class="nv">_</span> <span class="k">then</span> <span class="kc">true</span><span class="nv">Statements</span> <span class="k">else</span> <span class="kc">false</span><span class="nv">Statements</span><span class="p">)</span> <span class="nv">_</span><span class="p">;</span>
<span class="nv">whileWithoutJump</span> <span class="o">=</span> <span class="nv">condition</span><span class="p">:</span> <span class="nv">body</span><span class="p">:</span>
	<span class="k">if</span><span class="err">'</span> <span class="nv">condition</span> <span class="p">[</span> <span class="nv">body</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">whileWithoutJump</span> <span class="nv">condition</span> <span class="nv">body</span><span class="p">)</span> <span class="p">]</span> <span class="p">[</span> <span class="p">];</span>
</code></pre>
<p class="no-indent">
Now, to implement <code>break</code> and <code>continue</code>, we can use exception handling. Define them as throwing special exception values:
</p>
<pre><code><span class="nv">break</span> <span class="o">=</span> <span class="kr">throw</span> <span class="s2">"_break_"</span><span class="p">;</span>
<span class="nv">continue</span> <span class="o">=</span> <span class="kr">throw</span> <span class="s2">"_continue_"</span><span class="p">;</span>
</code></pre>
<p class="no-indent">
Then, define <code>while</code> to use <code>try</code> to catch these exceptions. The <code>"_continue_"</code> exception is caught inside the loop body, and the <code>"_break_"</code> exception is caught outside the loop to terminate the loop.
</p>
<pre><code><span class="nv">catchOnly</span> <span class="o">=</span> <span class="nv">handled</span><span class="p">:</span> <span class="nv">thrown</span><span class="p">:</span> <span class="k">if</span> <span class="nv">thrown</span> <span class="o">==</span> <span class="nv">handled</span> <span class="k">then</span> <span class="p">[</span> <span class="p">]</span> <span class="k">else</span> <span class="p">[</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="kr">throw</span> <span class="nv">thrown</span><span class="p">)</span> <span class="p">];</span>
<span class="nv">while</span> <span class="o">=</span> <span class="nv">condition</span><span class="p">:</span> <span class="nv">statements</span><span class="p">:</span> <span class="nv">try</span> <span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">whileWithoutJump</span> <span class="nv">condition</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">try</span> <span class="nv">statements</span> <span class="p">(</span><span class="nv">catchOnly</span> <span class="s2">"_continue_"</span><span class="p">)))</span>
<span class="p">]</span> <span class="p">(</span><span class="nv">catchOnly</span> <span class="s2">"_break_"</span><span class="p">);</span>
</code></pre>
<p>We can now write some loops.</p>
<pre><code><span class="kd">let</span> <span class="c"># ...</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span><span class="nv">do</span> <span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="p">})</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">while</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">&lt;</span> <span class="mi">5</span><span class="p">)</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="k">if</span><span class="err">'</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">==</span> <span class="mi">4</span><span class="p">)</span> <span class="p">[</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">break</span><span class="p">)</span>
		<span class="p">]</span> <span class="p">[</span> <span class="p">])</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="k">if</span><span class="err">'</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="p">[</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="p">})</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">continue</span><span class="p">)</span>
		<span class="p">]</span> <span class="p">[</span> <span class="p">])</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"Current i: </span><span class="si">${</span><span class="kr">toString</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="p">})</span>
	<span class="p">])</span>
<span class="p">]</span> <span class="p">{</span> <span class="p">})</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<p class="no-indent">
This prints:
</p>
<pre><code>trace: Current i: 0
trace: Current i: 1
trace: Current i: 3
</code></pre>
<h2 data-label="0.4" id="functions">Functions</h2>
<p>Defining functions is already possible without any special constructs, but only <code>assign</code> and <code>do</code> is needed:</p>
<pre><code><span class="kd">let</span> <span class="c"># ...</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span><span class="nv">do</span> <span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">hello</span> <span class="o">=</span> <span class="nv">name</span><span class="p">:</span> <span class="nv">do</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"Hello, </span><span class="si">${</span><span class="nv">name</span><span class="si">}</span><span class="s2">!"</span><span class="p">)</span>
	<span class="p">];</span> <span class="p">})</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">hello</span> <span class="s2">"world"</span><span class="p">)</span>
<span class="p">]</span> <span class="p">{</span> <span class="p">})</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<p class="no-indent">
We can make it nicer by having it support <code>return</code> to exit early from the function. Similar to <code>break</code> and <code>continue</code>, we can implement <code>return</code> using exceptions.
</p>
<pre><code><span class="nv">return</span> <span class="o">=</span> <span class="kr">throw</span> <span class="s2">"_return_"</span><span class="p">;</span>
<span class="nv">function</span> <span class="o">=</span> <span class="nv">functions</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">(</span><span class="kr">builtins</span><span class="o">.</span><span class="nv">mapAttrs</span> <span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="nv">fun</span><span class="p">:</span> <span class="nv">arg</span><span class="p">:</span> <span class="nv">try</span> <span class="p">(</span><span class="nv">fun</span> <span class="nv">arg</span><span class="p">)</span> <span class="p">(</span><span class="nv">catchOnly</span> <span class="s2">"_return_"</span><span class="p">))</span> <span class="nv">functions</span><span class="p">);</span>
</code></pre>
<p>Then, we can define functions with <code>return</code> support:</p>
<pre><code><span class="kd">let</span> <span class="c"># ...</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span><span class="nv">do</span> <span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">function</span> <span class="p">{</span> <span class="nv">hello</span> <span class="o">=</span> <span class="nv">arg</span><span class="p">:</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="k">if</span><span class="err">'</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">arg</span> <span class="o">==</span> <span class="s2">""</span><span class="p">)</span> <span class="p">[</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"What's your name?"</span><span class="p">)</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">return</span><span class="p">)</span>
		<span class="p">]</span> <span class="p">[</span> <span class="p">])</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"Hello, </span><span class="si">${</span><span class="nv">arg</span><span class="si">}</span><span class="s2">!"</span><span class="p">)</span>
	<span class="p">];</span> <span class="p">})</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">hello</span> <span class="s2">""</span><span class="p">)</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">hello</span> <span class="s2">"world"</span><span class="p">)</span>
<span class="p">]</span> <span class="p">{</span> <span class="p">})</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<p class="no-indent">
This prints:
</p>
<pre><code>trace: What's your name?
trace: Hello, world!
</code></pre>
<h2 data-label="0.5" id="input">Input</h2>
<p>We can use <code>builtins.readFile</code> to read input from files. To read from stdin, we need to use Lix to do that because the vanilla implementation of Nix <a href="https://github.com/NixOS/nix/issues/9330" target="_blank" rel="external">does not</a> support <code>builtins.readFile /dev/stdin</code>.</p>
<pre><code><span class="kd">let</span> <span class="c"># ...</span>
	<span class="nv">read</span> <span class="o">=</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">readFile</span><span class="p">;</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span><span class="nv">do</span> <span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">input</span> <span class="o">=</span> <span class="nv">read</span> <span class="sx">/dev/stdin</span><span class="p">;</span> <span class="p">})</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">print</span> <span class="s2">"You entered: </span><span class="si">${</span><span class="nv">_</span><span class="o">.</span><span class="nv">input</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
<span class="p">]</span> <span class="p">{</span> <span class="p">})</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<p>Because <code>builtins.readFile</code> reads the entire file until EOF, when you finish input, you need to send an EOF signal, typically by pressing <kbd>Ctrl</kbd>+<kbd>D</kbd> on an empty line. Notice that you need to press this combination on a empty line, so the input you get in Nix probably ends with a newline character that you want to trim.</p>
<p>If you want to read from stdin multiple times, to ensure that the Nix interpreter tries to reopen <code>/dev/stdin</code> each time, you must not write <code>input = builtins.readFile /dev/stdin;</code> in the first <code>let</code> block and refer to <code>input</code> every time you want to read from stdin. Instead, you should use <code>read /dev/stdin</code> every time, or wrap it in a function and call the function every time.</p>
<h2 data-label="0.6" id="other-minor-improvements">Other minor improvements</h2>
<p>We may want to separate all those things in the first <code>let</code> block into a separate file, which let us call <code>imperative.nix</code>, so that we do not need to write out all those things like <code>assign</code>, <code>print</code> every time we write an imperative program. However, this would still mean that we have to pass a bunch of variables like this:</p>
<pre><code><span class="kd">let</span>
	<span class="kn">inherit</span> <span class="p">(</span><span class="kr">import</span> <span class="sx">./imperative.nix</span><span class="p">)</span> <span class="nv">do</span> <span class="nv">assign</span> <span class="nv">print</span> <span class="kr">throw</span><span class="p">;</span>
	<span class="c"># ...</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span><span class="nv">do</span> <span class="p">[</span>
	<span class="c"># ...</span>
<span class="p">]</span> <span class="p">{</span> <span class="p">})</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<p class="no-indent">
One way to avoid this is to use <code>builtins.scopedImport</code> in <code>imperative.nix</code>, but in my opinion, a better approach is to simply put all those things in the initial state <code>_</code>. Now, the actually executable Nix file just contain the list of statements, and <code>imperative.nix</code> will import it to run it. All the keywords like <code>while</code> and <code>assign</code> become variables in <code>_</code>, so nothing needs to be imported or scoped in the executable Nix file. However, this would also mean that we need to <code>import</code> the program in <code>imperative.nix</code> instead of the other way around. To make <code>imperative.nix</code> know which file to import, we can provide it with an argument, so it looks like this:
</p>
<pre><code><span class="p">{</span> <span class="nv">input</span> <span class="p">}:</span> <span class="kd">let</span> <span class="c"># ...</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span>
	<span class="nv">do</span>
	<span class="p">(</span><span class="kr">import</span> <span class="p">(</span><span class="k">if</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">match</span> <span class="nv">input</span> <span class="s2">"^/"</span> <span class="o">!=</span> <span class="kc">null</span> <span class="k">then</span> <span class="nv">input</span> <span class="k">else</span> <span class="s2">"</span><span class="si">${</span><span class="kr">toString</span> <span class="sx">./.</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">input</span><span class="si">}</span><span class="s2">"</span><span class="p">))</span>
	<span class="p">{</span> <span class="kn">inherit</span> <span class="nv">assign</span> <span class="k">if</span><span class="err">'</span> <span class="nv">while</span> <span class="nv">print</span> <span class="kr">throw</span> <span class="nv">break</span> <span class="nv">continue</span> <span class="nv">return</span> <span class="nv">function</span> <span class="nv">read</span> <span class="nv">try</span><span class="p">;</span> <span class="p">}</span>
<span class="p">)</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<p class="no-indent">
To run a program in <code>program.nix</code>, you need to run <code>nix-build imperative.nix --argstr input program.nix</code>. You may encapsulate it in a shebang in <code>imperative.nix</code>:
</p>
<pre><code><span class="c">#!/usr/bin/env nix-shell</span>
<span class="c">#!nix-shell --pure -i "nix-build --no-out-link" -p lix</span>
</code></pre>
<p class="no-indent">
If you now make <code>imperative.nix</code> executable, you can run a program using <code>imperative.nix --argstr input program.nix</code>.
</p>
<p>This now enables us to implement an <code>import</code> function that runs programs from other files:</p>
<pre><code><span class="kr">import</span> <span class="o">=</span> <span class="nv">file</span><span class="p">:</span> <span class="nv">do</span> <span class="p">(</span><span class="kr">builtins</span><span class="o">.</span><span class="kr">import</span> <span class="nv">file</span><span class="p">);</span>
</code></pre>
<p class="no-indent">
(This shadows the built-in <code>import</code> function, so we will refer to the built-in one as <code>builtins.import</code> if needed.) You can now do something like this:
</p>
<pre><code><span class="c"># program.nix</span>
<span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="kr">import</span> <span class="sx">./other-program.nix</span><span class="p">)</span>
<span class="p">]</span>
</code></pre>
<pre><code><span class="c"># other-program.nix</span>
<span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">print</span> <span class="s2">"Hello from other program!"</span><span class="p">)</span>
<span class="p">]</span>
</code></pre>
<p class="no-indent">
When you run <code>imperative.nix --argstr input program.nix</code>, it will print:
</p>
<pre><code>trace: Hello from other program!
</code></pre>
<p>We may improve it further by removing the need of <code>--argstr input</code> and also adding support for passing command line arguments to the program, at the cost of having to write a little bit of shell script and jq in the shebang (so really we cannot call it a “purely Nix” implementation now, but the nix-shell shebang is simply too powerful):</p>
<!-- markdownlint-disable line-length -->
<pre><code><span class="c">#!/usr/bin/env nix-shell</span>
<span class="c">#!nix-shell --pure -i "sh -c '_1=\$1; _2=\$2; shift 2; exec nix-build --no-out-link \"\$_1\" --argstr input \"\$_2\" --argstr argvJSON \"\$(printf \"%s\\\\0\" \"\$@\" | jq -Rsc \"split(\\\"\\\\u0000\\\")[:-1]\")\"' --" -p lix jq</span>

<span class="p">{</span> <span class="nv">input</span><span class="p">,</span> <span class="nv">argvJSON</span> <span class="p">}:</span> <span class="kd">let</span> <span class="c"># ...</span>
	<span class="nv">argv</span> <span class="o">=</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">fromJSON</span> <span class="nv">argvJSON</span><span class="p">;</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="c"># ...</span>
</code></pre>
<!-- markdownlint-enable line-length -->
<p class="no-indent">
The mechanism is that the shell script in the shebang extracts the first two command line arguments as the Nix file to run and the input file, and the rest of the command line arguments are concatenated with null characters and converted to a JSON array using <code>jq</code>. In <code>imperative.nix</code>, we parse the JSON array back to a Nix list and provide it as the variable <code>argv</code> in the initial state <code>_</code>. You can now simply use a shebang <code>#!/usr/bin/env imperative.nix</code> in <code>program.nix</code>, and then you can run it with <code>./program.nix arg1 arg2</code> if you make it executable, and the command line arguments will be available in the list <code>_.argv</code>.
</p>
<p>Finally, we can use <code>try</code> instead of <code>do</code> in the ultimate <code>builtins.seq</code> call to catch any uncaught exceptions in the program. Here is the final version of <code>imperative.nix</code> and an example <code>program.nix</code> that uses most of the features we introduced:</p>
<!-- markdownlint-disable line-length -->
<pre><code><span class="c">#!/usr/bin/env nix-shell</span>
<span class="c">#!nix-shell --pure -i "sh -c '_1=\$1; _2=\$2; shift 2; exec nix-build --no-out-link \"\$_1\" --argstr input \"\$_2\" --argstr argvJSON \"\$(printf \"%s\\\\0\" \"\$@\" | jq -Rsc \"split(\\\"\\\\u0000\\\")[:-1]\")\"' --" -p lix jq</span>

<span class="p">{</span> <span class="nv">input</span><span class="p">,</span> <span class="nv">argvJSON</span> <span class="p">}:</span> <span class="kd">let</span>
	<span class="nv">do</span> <span class="o">=</span> <span class="nv">statements</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span>
		<span class="k">if</span> <span class="nv">statements</span> <span class="o">==</span> <span class="p">[</span> <span class="p">]</span> <span class="k">then</span> <span class="nv">_</span>
		<span class="k">else</span> <span class="kd">let</span> <span class="nv">result</span> <span class="o">=</span> <span class="nv">_</span> <span class="o">//</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">head</span> <span class="nv">statements</span> <span class="nv">_</span> <span class="nv">_</span><span class="p">;</span> <span class="kn">in</span>
			<span class="k">if</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">hasAttr</span> <span class="s2">"_thrown_"</span> <span class="nv">result</span> <span class="k">then</span> <span class="nv">result</span>
			<span class="k">else</span> <span class="nv">do</span> <span class="p">(</span><span class="kr">builtins</span><span class="o">.</span><span class="nv">tail</span> <span class="nv">statements</span><span class="p">)</span> <span class="nv">result</span><span class="p">;</span>
	<span class="nv">assign</span> <span class="o">=</span> <span class="nv">variables</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span> <span class="nv">_</span> <span class="o">//</span> <span class="nv">variables</span><span class="p">;</span>
	<span class="nv">read</span> <span class="o">=</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">readFile</span><span class="p">;</span>
	<span class="nv">print</span> <span class="o">=</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">trace</span><span class="p">;</span>
	<span class="k">if</span><span class="err">'</span> <span class="o">=</span> <span class="nv">condition</span><span class="p">:</span> <span class="kc">true</span><span class="nv">Statements</span><span class="p">:</span> <span class="kc">false</span><span class="nv">Statements</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span>
		<span class="nv">do</span> <span class="p">(</span><span class="k">if</span> <span class="nv">condition</span> <span class="nv">_</span> <span class="k">then</span> <span class="kc">true</span><span class="nv">Statements</span> <span class="k">else</span> <span class="kc">false</span><span class="nv">Statements</span><span class="p">)</span> <span class="nv">_</span><span class="p">;</span>
	<span class="nv">whileWithoutJump</span> <span class="o">=</span> <span class="nv">condition</span><span class="p">:</span> <span class="nv">body</span><span class="p">:</span>
		<span class="k">if</span><span class="err">'</span> <span class="nv">condition</span> <span class="p">[</span> <span class="nv">body</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">whileWithoutJump</span> <span class="nv">condition</span> <span class="nv">body</span><span class="p">)</span> <span class="p">]</span> <span class="p">[</span> <span class="p">];</span>
	<span class="nv">catchOnly</span> <span class="o">=</span> <span class="nv">handled</span><span class="p">:</span> <span class="nv">thrown</span><span class="p">:</span> <span class="k">if</span> <span class="nv">thrown</span> <span class="o">==</span> <span class="nv">handled</span> <span class="k">then</span> <span class="p">[</span> <span class="p">]</span> <span class="k">else</span> <span class="p">[</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="kr">throw</span> <span class="nv">thrown</span><span class="p">)</span> <span class="p">];</span>
	<span class="nv">while</span> <span class="o">=</span> <span class="nv">condition</span><span class="p">:</span> <span class="nv">statements</span><span class="p">:</span> <span class="nv">try</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">whileWithoutJump</span> <span class="nv">condition</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">try</span> <span class="nv">statements</span> <span class="p">(</span><span class="nv">catchOnly</span> <span class="s2">"_continue_"</span><span class="p">)))</span>
	<span class="p">]</span> <span class="p">(</span><span class="nv">catchOnly</span> <span class="s2">"_break_"</span><span class="p">);</span>
	<span class="kr">throw</span> <span class="o">=</span> <span class="nv">thrown</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">{</span> <span class="nv">_thrown_</span> <span class="o">=</span> <span class="nv">thrown</span><span class="p">;</span> <span class="p">};</span>
	<span class="nv">break</span> <span class="o">=</span> <span class="kr">throw</span> <span class="s2">"_break_"</span><span class="p">;</span>
	<span class="nv">continue</span> <span class="o">=</span> <span class="kr">throw</span> <span class="s2">"_continue_"</span><span class="p">;</span>
	<span class="nv">return</span> <span class="o">=</span> <span class="kr">throw</span> <span class="s2">"_return_"</span><span class="p">;</span>
	<span class="nv">try</span> <span class="o">=</span> <span class="nv">statements</span><span class="p">:</span> <span class="nv">catch</span><span class="p">:</span> <span class="nv">_</span><span class="p">:</span> <span class="kd">let</span> <span class="nv">result</span> <span class="o">=</span> <span class="nv">do</span> <span class="nv">statements</span> <span class="nv">_</span><span class="p">;</span> <span class="kn">in</span>
		<span class="k">if</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">hasAttr</span> <span class="s2">"_thrown_"</span> <span class="nv">result</span> <span class="k">then</span>
			<span class="nv">do</span> <span class="p">(</span><span class="nv">catch</span> <span class="nv">result</span><span class="o">.</span><span class="nv">_thrown_</span><span class="p">)</span> <span class="p">(</span><span class="kr">removeAttrs</span> <span class="nv">result</span> <span class="p">[</span> <span class="s2">"_thrown_"</span> <span class="p">])</span>
		<span class="k">else</span> <span class="nv">result</span><span class="p">;</span>
	<span class="nv">function</span> <span class="o">=</span> <span class="nv">functions</span><span class="p">:</span> <span class="nv">assign</span> <span class="p">(</span><span class="kr">builtins</span><span class="o">.</span><span class="nv">mapAttrs</span> <span class="p">(</span><span class="nv">name</span><span class="p">:</span> <span class="nv">fun</span><span class="p">:</span> <span class="nv">arg</span><span class="p">:</span> <span class="nv">try</span> <span class="p">(</span><span class="nv">fun</span> <span class="nv">arg</span><span class="p">)</span> <span class="p">(</span><span class="nv">catchOnly</span> <span class="s2">"_return_"</span><span class="p">))</span> <span class="nv">functions</span><span class="p">);</span>
	<span class="kr">import</span> <span class="o">=</span> <span class="nv">file</span><span class="p">:</span> <span class="nv">do</span> <span class="p">(</span><span class="kr">builtins</span><span class="o">.</span><span class="kr">import</span> <span class="nv">file</span><span class="p">);</span>
	<span class="nv">argv</span> <span class="o">=</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">fromJSON</span> <span class="nv">argvJSON</span><span class="p">;</span>
<span class="kn">in</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">seq</span> <span class="p">(</span>
	<span class="nv">try</span>
	<span class="p">(</span><span class="kr">builtins</span><span class="o">.</span><span class="kr">import</span> <span class="p">(</span><span class="k">if</span> <span class="kr">builtins</span><span class="o">.</span><span class="nv">match</span> <span class="nv">input</span> <span class="s2">"^/"</span> <span class="o">!=</span> <span class="kc">null</span> <span class="k">then</span> <span class="nv">input</span> <span class="k">else</span> <span class="s2">"</span><span class="si">${</span><span class="kr">toString</span> <span class="sx">./.</span><span class="si">}</span><span class="s2">/</span><span class="si">${</span><span class="nv">input</span><span class="si">}</span><span class="s2">"</span><span class="p">))</span>
	<span class="kr">builtins</span><span class="o">.</span><span class="kr">throw</span>
	<span class="p">{</span> <span class="kn">inherit</span> <span class="nv">assign</span> <span class="k">if</span><span class="err">'</span> <span class="nv">while</span> <span class="nv">print</span> <span class="kr">throw</span> <span class="nv">break</span> <span class="nv">continue</span> <span class="nv">return</span> <span class="nv">function</span> <span class="nv">read</span> <span class="nv">try</span> <span class="kr">import</span> <span class="kr">builtins</span> <span class="nv">argv</span><span class="p">;</span> <span class="p">}</span>
<span class="p">)</span> <span class="p">{</span> <span class="p">}</span>
</code></pre>
<!-- markdownlint-enable line-length -->
<pre><code><span class="c">#!/usr/bin/env imperative.nix</span>

<span class="p">[</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="kr">import</span> <span class="p">(</span><span class="nv">_</span><span class="o">.</span><span class="kr">builtins</span><span class="o">.</span><span class="nv">toFile</span> <span class="s2">"other-input.nix"</span> <span class="s2">"[ (_: _.print </span><span class="se">\"</span><span class="s2">Hello from other file!</span><span class="se">\"</span><span class="s2">) ]"</span><span class="p">))</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">function</span> <span class="p">{</span> <span class="nv">hello</span> <span class="o">=</span> <span class="nv">arg</span><span class="p">:</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="k">if</span><span class="err">'</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">arg</span> <span class="o">==</span> <span class="s2">""</span><span class="p">)</span> <span class="p">[</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">print</span> <span class="s2">"What's your name?"</span><span class="p">)</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">return</span><span class="p">)</span>
		<span class="p">]</span> <span class="p">[</span> <span class="p">])</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">print</span> <span class="s2">"Hello, </span><span class="si">${</span><span class="nv">arg</span><span class="si">}</span><span class="s2">!"</span><span class="p">)</span>
	<span class="p">];</span> <span class="p">})</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">hello</span> <span class="s2">""</span><span class="p">)</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">hello</span> <span class="s2">"World"</span><span class="p">)</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">while</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">argv</span> <span class="o">!=</span> <span class="p">[</span> <span class="p">])</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">hello</span> <span class="p">(</span><span class="nv">_</span><span class="o">.</span><span class="kr">builtins</span><span class="o">.</span><span class="nv">head</span> <span class="nv">_</span><span class="o">.</span><span class="nv">argv</span><span class="p">))</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">assign</span> <span class="p">{</span> <span class="nv">argv</span> <span class="o">=</span> <span class="nv">_</span><span class="o">.</span><span class="kr">builtins</span><span class="o">.</span><span class="nv">tail</span> <span class="nv">_</span><span class="o">.</span><span class="nv">argv</span><span class="p">;</span> <span class="p">})</span>
	<span class="p">])</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span> <span class="p">})</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">while</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">&lt;</span> <span class="mi">5</span><span class="p">)</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="k">if</span><span class="err">'</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">==</span> <span class="mi">4</span><span class="p">)</span> <span class="p">[</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">break</span><span class="p">)</span>
		<span class="p">]</span> <span class="p">[</span> <span class="p">])</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="k">if</span><span class="err">'</span> <span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">==</span> <span class="mi">2</span><span class="p">)</span> <span class="p">[</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="p">})</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">continue</span><span class="p">)</span>
		<span class="p">]</span> <span class="p">[</span>
			<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">hello</span> <span class="s2">"</span><span class="si">${</span><span class="nv">_</span><span class="o">.</span><span class="kr">builtins</span><span class="o">.</span><span class="kr">toString</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
		<span class="p">])</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">assign</span> <span class="p">{</span> <span class="nv">i</span> <span class="o">=</span> <span class="nv">_</span><span class="o">.</span><span class="nv">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">;</span> <span class="p">})</span>
	<span class="p">])</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">try</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="kr">throw</span> <span class="s2">"Some error message."</span><span class="p">)</span>
	<span class="p">]</span> <span class="p">(</span><span class="nv">exception</span><span class="p">:</span> <span class="p">[</span>
		<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">print</span> <span class="s2">"Caught exception: </span><span class="si">${</span><span class="nv">exception</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
	<span class="p">]))</span>
	<span class="p">(</span><span class="nv">_</span><span class="p">:</span> <span class="nv">_</span><span class="o">.</span><span class="nv">print</span> <span class="s2">"Goodbye!"</span><span class="p">)</span>
<span class="p">]</span>
</code></pre>
<p class="no-indent">
When you run <code>./program.nix Kat "Ulysses Zhan"</code>, it will print:
</p>
<pre><code>trace: Hello from other file!
trace: What's your name?
trace: Hello, World!
trace: Hello, Kat!
trace: Hello, Ulysses Zhan!
trace: Hello, 0!
trace: Hello, 1!
trace: Hello, 3!
trace: Caught exception: Some error message.
trace: Goodbye!
</code></pre>
<h2 data-label="0.7" id="possible-improvements">Possible improvements</h2>
<p>Maybe I can improve it further by adding support for local variables. It would also be nice if functions with side effects can also have return values, but this would be tricky to implement.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="programming" /><category term="nix" /><category term="functional programming" /><summary type="html"><![CDATA[Nix is a functional programming language primarily used for package management and system configuration. However, it may be interesting to emulate imperative programming constructs within Nix. This post explores how to achieve imperative-style programming in Nix, ipmlementing control flow, exception handling, and interactive IO.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-11-06-nix-imperative.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-11-06-nix-imperative.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Multi-pass Gaussian blur filter]]></title><link href="https://ulysseszh.github.io/programming/2025/07/17/blur-filter.html" rel="alternate" type="text/html" title="Multi-pass Gaussian blur filter" /><published>2025-07-17T01:06:08-07:00</published><updated>2025-07-17T01:06:08-07:00</updated><id>https://ulysseszh.github.io/programming/2025/07/17/blur-filter</id><content type="html" xml:base="https://ulysseszh.github.io/programming/2025/07/17/blur-filter.html"><![CDATA[<p>In image processing, a Gaussian blur filter is the transformation of an image that blurs it by a Gaussian function. Mathematically, a Gaussian blur filter is a linear transformation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span> on a measurable function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>:</mo><msup><mi mathvariant="double-struck">R</mi><mi>d</mi></msup><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">f:\bR^d\to\bR</annotation></semantics></math></span> that does not grow too fast at infinity (or more generally, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>:</mo><msup><mi mathvariant="double-struck">R</mi><mi>d</mi></msup><mo>→</mo><mi>V</mi></mrow><annotation encoding="application/x-tex">f:\bR^d\to V</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span> is a locally convex topological vector space) which results in a function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mi>f</mi><mo>:</mo><msup><mi mathvariant="double-struck">R</mi><mi>d</mi></msup><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">Gf:\bR^d\to\bR</annotation></semantics></math></span> defined by the integral <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mo>∫</mo><mfrac><mrow><msup><mi mathvariant="normal">d</mi><mi>d</mi></msup><mi>y</mi></mrow><msqrt><mrow><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mo fence="true">)</mo></mrow><mi>d</mi></msup><mi>det</mi><mo>⁡</mo><mi>A</mi></mrow></msqrt></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mrow><mo fence="true">(</mo><msup><mi>A</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo fence="true">)</mo></mrow><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi>y</mi><mi>j</mi></msub><msub><mi>y</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{Gf}x\ceq\int\frac{\d^dy}{\sqrt{\p{2\pi}^d\det A}}\fc\exp{-\fr12\p{A^{-1}}_{jk}y_jy_k}\fc f{x+y},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span> is a symmetric positive definite matrix called the covariance matrix of the Gaussian kernel.</p>
<p>By looking at this formula, we can see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{Gf}x</annotation></semantics></math></span> is exactly the expectation value of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>Y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc f{x+Y}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math></span> is a random vector distributed according to the multivariate normal distribution with mean <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> and covariance matrix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span>. Let’s say, however, that instead of a multivariate normal distribution, we have a discrete distribution on a finite set of points <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_i}</annotation></semantics></math></span>, each with probability <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>w</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">w_i</annotation></semantics></math></span>, satisfying <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><mo>=</mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><msub><mi>a</mi><mi>i</mi></msub><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\sum_i w_i=1,\quad\sum_i w_ia_i=0.</annotation></semantics></math></span> Then, for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Y</mi></mrow><annotation encoding="application/x-tex">Y</annotation></semantics></math></span> distributed according to this discrete distribution, the expectation value of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>Y</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc f{x+Y}</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">E</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>Y</mi><mo fence="true">)</mo></mrow><mo fence="true">]</mo></mrow><mo>=</mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\bopc E{\fc f{x+Y}}=\sum_i w_i\fc f{x+a_i}.</annotation></semantics></math></span> This distribution has the covariance matrix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><mo>=</mo><msub><mo>∑</mo><mi>i</mi></msub><msub><mi>w</mi><mi>i</mi></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub></mrow><annotation encoding="application/x-tex">A_{jk}=\sum_i w_ia_{ij}a_{ik}</annotation></semantics></math></span>, but this expectation value is not the same as the result <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{Gf}x</annotation></semantics></math></span> of the Gaussian blur filter. In order to approach the Gaussian distribution, we need to sum <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> independent samples <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>Y</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{Y_\alpha}</annotation></semantics></math></span>, each distributed according the same discrete distribution with covariance matrix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi mathvariant="normal">/</mi><mi>N</mi></mrow><annotation encoding="application/x-tex">A/N</annotation></semantics></math></span>. Without changing the relation between <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_i}</annotation></semantics></math></span>, we can achieve this by taking the distribution to be among the points <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mi mathvariant="normal">/</mi><msqrt><mi>N</mi></msqrt><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_i/\sqrt N}</annotation></semantics></math></span>, with the same probabilities <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>w</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">w_i</annotation></semantics></math></span>. Then, according to the central limit theorem, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><mi mathvariant="normal">E</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">[</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><munder><mo>∑</mo><mi>α</mi></munder><msub><mi>Y</mi><mi>α</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">]</mo></mrow><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><munder><mo>∑</mo><mrow><mo fence="true">{</mo><msub><mi>i</mi><mi>α</mi></msub><mo fence="true">}</mo></mrow></munder><mrow><mo fence="true">(</mo><munder><mo>∏</mo><mi>α</mi></munder><msub><mi>w</mi><msub><mi>i</mi><mi>α</mi></msub></msub><mo fence="true">)</mo></mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mfrac><mn>1</mn><msqrt><mi>N</mi></msqrt></mfrac><munder><mo>∑</mo><mi>α</mi></munder><msub><mi>a</mi><msub><mi>i</mi><mi>α</mi></msub></msub><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{Gf}x=\lim_{N\to\infty}\bopc E{\fc f{x+\sum_\alpha Y_\alpha}}
=\lim_{N\to\infty}\sum_{\B{i_\alpha}}\p{\prod_\alpha w_{i_\alpha}}\fc f{x+\fr{1}{\sqrt N}\sum_\alpha a_{i_\alpha}}.</annotation></semantics></math></span> By staring at this formula, one may notice that it is actually the result of the same linear transformation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span> applied <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> times to the function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mfrac><msub><mi>a</mi><mi>i</mi></msub><msqrt><mi>N</mi></msqrt></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{P_Nf}x\ceq\sum_iw_i\fc f{x+\fr{a_i}{\sqrt N}}.</annotation></semantics></math></span> Thus, we can write <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><msubsup><mi>P</mi><mi>N</mi><mi>N</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">G=\lim_{N\to\infty}P_N^N.</annotation></semantics></math></span></p>
<p>We can now see why we can implement a Gaussian blur filter as a multi-pass filter: each pass of the filter is equivalent to applying the linear transformation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span> once, and the Gaussian blur filter is the limit of applying this transformation infinitely many times. After choosing the points <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msub><mi>a</mi><mi>i</mi></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{a_i}</annotation></semantics></math></span> and the weights <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>w</mi><mi>i</mi></msub></mrow><annotation encoding="application/x-tex">w_i</annotation></semantics></math></span>, we can easily implement the filter in a fragment shader. After implementing <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span>, one can implement the multi-pass filter by flip-flopping between two textures <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> times. Here is an example implementation of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span> for a 2D (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">d=2</annotation></semantics></math></span>) texture, with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>a</mi><mn>0</mn></msub><mo>=</mo><mrow><mo fence="true">(</mo><mtable rowspacing="0.16em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mi>σ</mi></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>0</mn></mstyle></mtd></mtr></mtable><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msub><mi>a</mi><mn>1</mn></msub><mo>=</mo><mrow><mo fence="true">(</mo><mtable rowspacing="0.16em" columnalign="center" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo>−</mo><mi>σ</mi></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>0</mn></mstyle></mtd></mtr></mtable><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msub><mi>w</mi><mn>0</mn></msub><mo>=</mo><msub><mi>w</mi><mn>1</mn></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">a_0=\begin{pmatrix}\sgm\\0\end{pmatrix},\quad
a_1=\begin{pmatrix}-\sgm\\0\end{pmatrix},\quad
w_0=w_1=\fr12,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>σ</mi></mrow><annotation encoding="application/x-tex">\sgm</annotation></semantics></math></span> would be the standard deviation of the resulting Gaussian blur filter:</p>
<pre><code><span class="k">varying</span> <span class="kt">vec2</span> <span class="n">vTextureCoord</span><span class="p">;</span>

<span class="k">uniform</span> <span class="kt">sampler2D</span> <span class="n">uTexture</span><span class="p">;</span>
<span class="k">uniform</span> <span class="kt">float</span> <span class="n">uStrength</span><span class="p">;</span> <span class="c1">// sigma / sqrt(N)</span>

<span class="kt">void</span> <span class="nf">main</span><span class="p">()</span> <span class="p">{</span>
	<span class="nb">gl_FragColor</span>  <span class="o">=</span> <span class="n">texture2D</span><span class="p">(</span><span class="n">uTexture</span><span class="p">,</span> <span class="n">vTextureCoord</span> <span class="o">+</span> <span class="kt">vec2</span><span class="p">(</span> <span class="n">uStrength</span><span class="p">,</span> <span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">))</span> <span class="o">*</span> <span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">;</span>
	<span class="nb">gl_FragColor</span> <span class="o">+=</span> <span class="n">texture2D</span><span class="p">(</span><span class="n">uTexture</span><span class="p">,</span> <span class="n">vTextureCoord</span> <span class="o">+</span> <span class="kt">vec2</span><span class="p">(</span><span class="o">-</span><span class="n">uStrength</span><span class="p">,</span> <span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">))</span> <span class="o">*</span> <span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">;</span>
<span class="p">}</span>
</code></pre>
<p class="no-indent">
When using the shader, the texture is input as the uniform <code>uTexture</code>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>σ</mi><mi mathvariant="normal">/</mi><msqrt><mi>N</mi></msqrt></mrow><annotation encoding="application/x-tex">\sgm/\sqrt N</annotation></semantics></math></span> is input as the uniform <code>uStrength</code>. This example is then called the 2-tap horizontal Gaussian blur filter (because to find <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fx</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> one needs to evaluate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span> twice).
</p>
<p>To get a good Gaussian blur effect, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> should be large enough, which can quickly become computationally expensive. We can reduce the number of passes by rewriting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mi>N</mi><mi>N</mi></msubsup><mo>=</mo><msup><mrow><mo fence="true">(</mo><msubsup><mi>P</mi><mi>N</mi><mi>n</mi></msubsup><mo fence="true">)</mo></mrow><mrow><mi>N</mi><mi mathvariant="normal">/</mi><mi>n</mi></mrow></msup></mrow><annotation encoding="application/x-tex">P_N^N=\p{P_N^n}^{N/n}</annotation></semantics></math></span> so that the number of passes is now reduced from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mi mathvariant="normal">/</mi><mi>n</mi></mrow><annotation encoding="application/x-tex">N/n</annotation></semantics></math></span> without changing the result, but the cost is to implement <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mi>N</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">P_N^n</annotation></semantics></math></span> instead of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span> in the shader. With the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>P</mi><mi>N</mi></msub></mrow><annotation encoding="application/x-tex">P_N</annotation></semantics></math></span> example above, the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>P</mi><mi>N</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">P_N^n</annotation></semantics></math></span> filter is then a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{n+1}</annotation></semantics></math></span>-tap horizontal Gaussian blur filter. The total number of times to fetch the texture is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>N</mi><mi mathvariant="normal">/</mi><mi>n</mi></mrow><annotation encoding="application/x-tex">\p{n+1}N/n</annotation></semantics></math></span> to render the whole blurred texture, which decreases as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> increases.</p>
<p>By utilizing the linear sampling feature of the GPU, this number can be further reduced (by half) if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>σ</mi><mi mathvariant="normal">/</mi><msqrt><mi>N</mi></msqrt><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\sgm/\sqrt N=1</annotation></semantics></math></span>. One can read further about this in <a href="https://www.rastergrid.com/blog/2010/09/efficient-gaussian-blur-with-linear-sampling/" target="_blank" rel="external">this article</a>.</p>
<hr />
<p>Let us now move on to an interesting relation to the heat equation. The heat equation is a partial differential equation that reads <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>t</mi></msub><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><munder><mo>∑</mo><mi>j</mi></munder><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\partial_t\fc{f_t}x=\sum_j\partial_j\partial_j\fc{f_t}x.</annotation></semantics></math></span> The physical meaning of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_t}x</annotation></semantics></math></span> is the temperature at position <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> at time <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi></mrow><annotation encoding="application/x-tex">t</annotation></semantics></math></span>, and the solution to this equation gives the time evolution of the temperature distribution in a medium with unit thermal diffusivity. More generally, we can have some other thermal diffusivities, which may even be anisotropic, in which case the equation reads <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>t</mi></msub><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\partial_t\fc{f_t}x=\fr12\sum_{jk}A_{jk}\partial_j\partial_k\fc{f_t}x,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span> is a symmetric positive definite matrix. Such an equation can always be reduced to the form with unit thermal diffusivity by a linear transformation of the coordinates <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo>↦</mo><mi>L</mi><mi>x</mi></mrow><annotation encoding="application/x-tex">x\mapsto Lx</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span> satisfies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo>=</mo><msup><mi>L</mi><mi mathvariant="normal">T</mi></msup><mi>L</mi></mrow><annotation encoding="application/x-tex">A/2=L^\mrm TL</annotation></semantics></math></span> (the Cholesky decomposition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">A/2</annotation></semantics></math></span>). By using operator exponentiation, we can write the solution to the heat equation as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>f</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi>G</mi><mi>t</mi></msup><msub><mi>f</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{f_t}x=G^t\fc{f_0}x</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>G</mi><mi>t</mi></msup><mo><mi mathvariant="normal">≔</mi></mo><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>t</mi><mn>2</mn></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">G^t\ceq\fc\exp{\fr t2\sum_{jk}A_{jk}\partial_j\partial_k}</annotation></semantics></math></span> is called the time evolution operator (which is not generally defined for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t&lt;0</annotation></semantics></math></span>, which means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><msup><mi>G</mi><mi>t</mi></msup><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\B{G^t}</annotation></semantics></math></span> cannot form a group but only a monoid).</p>
<p>The reason that I denote it as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mi>t</mi></msup></mrow><annotation encoding="application/x-tex">G^t</annotation></semantics></math></span> is that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mn>1</mn></msup></mrow><annotation encoding="application/x-tex">G^1</annotation></semantics></math></span> gives exactly the Gaussian blur filter <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>G</mi></mrow><annotation encoding="application/x-tex">G</annotation></semantics></math></span> (when acting on real analytic functions). This is not immediately obvious, and I will justify its correctness by starting from the multi-pass expression of the Gaussian blur filter. For analytic functions, we can get the translation operator by exponentiating the derivative operator, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mfrac><msub><mi>a</mi><mi>i</mi></msub><msqrt><mi>N</mi></msqrt></mfrac><mo fence="true">)</mo></mrow><mo>=</mo><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>j</mi></munder><mfrac><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msqrt><mi>N</mi></msqrt></mfrac><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc f{x+\fr{a_i}{\sqrt N}}=\fc\exp{\sum_j\fr{a_{ij}}{\sqrt N}\partial_j}\fc fx.</annotation></semantics></math></span> Therefore, we can write <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msub><mi>P</mi><mi>N</mi></msub></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>j</mi></munder><mfrac><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msqrt><mi>N</mi></msqrt></mfrac><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munder><munder><mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub></mrow><mo stretchy="true">⏟</mo></munder><mn>1</mn></munder><mo>+</mo><mfrac><mn>1</mn><msqrt><mi>N</mi></msqrt></mfrac><munder><mo>∑</mo><mi>j</mi></munder><munder><munder><mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow><mo stretchy="true">⏟</mo></munder><mn>0</mn></munder><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><mo>+</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>N</mi></mrow></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><munder><munder><mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>w</mi><mi>i</mi></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>a</mi><mrow><mi>i</mi><mi>k</mi></mrow></msub></mrow><mo stretchy="true">⏟</mo></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub></munder><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>N</mi><mrow><mo>−</mo><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
P_N&amp;=\sum_iw_i\fc\exp{\sum_j\fr{a_{ij}}{\sqrt N}\partial_j}\\
&amp;=\underbrace{\sum_iw_i}_1
+\fr1{\sqrt N}\sum_j\underbrace{\sum_iw_ia_{ij}}_0\partial_j
+\fr1{2N}\sum_{jk}\underbrace{\sum_iw_ia_{ij}a_{ik}}_{A_{jk}}\partial_j\partial_k
+\order{N^{-3/2}}.
\end{align*}</annotation></semantics></math></span> Now, in the limit of infinite <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>G</mi><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><msubsup><mi>P</mi><mi>N</mi><mi>N</mi></msubsup><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>N</mi></mrow></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mi>N</mi></msup><mo>=</mo><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munder><mo>∑</mo><mrow><mi>j</mi><mi>k</mi></mrow></munder><msub><mi>A</mi><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi mathvariant="normal">∂</mi><mi>j</mi></msub><msub><mi mathvariant="normal">∂</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi>G</mi><mn>1</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">G=\lim_{N\to\infty}P_N^N
=\lim_{N\to\infty}\p{1+\fr1{2N}\sum_{jk}A_{jk}\partial_j\partial_k}^N
=\fc\exp{\fr12\sum_{jk}A_{jk}\partial_j\partial_k}=G^1.</annotation></semantics></math></span> This means that applying the Gaussian blur filter is equivalent to evolving one unit of time according to the heat equation. Therefore, the equation in the beginning of this article, the definition of the Gaussian blur filter, can then be used to express the unit time evolution under the heat equation in the form of a integral transformation. To get the general <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mi>t</mi></msup></mrow><annotation encoding="application/x-tex">G^t</annotation></semantics></math></span>, we can just replace <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mi>A</mi></mrow><annotation encoding="application/x-tex">tA</annotation></semantics></math></span>.</p>
<p>As a byproduct, we can then show that the heat kernel is a Gaussian kernel. The heat kernel <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>K</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{K_t}{x,x&#x27;}</annotation></semantics></math></span> is defined as the solution to the heat equation with initial condition <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>K</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow><mo>=</mo><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{K_0}{x,x&#x27;}=\fc\dlt{x-x&#x27;}</annotation></semantics></math></span>. Directly applying <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>G</mi><mi>t</mi></msup></mrow><annotation encoding="application/x-tex">G^t</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\dlt{x-x&#x27;}</annotation></semantics></math></span> gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi>K</mi><mi>t</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msup><mi>G</mi><mi>t</mi></msup><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>∫</mo><mfrac><mrow><msup><mi mathvariant="normal">d</mi><mi>d</mi></msup><mi>y</mi></mrow><msqrt><mrow><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mo fence="true">)</mo></mrow><mi>d</mi></msup><mi>det</mi><mo>⁡</mo><mi>A</mi></mrow></msqrt></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>t</mi></mrow></mfrac><msub><mrow><mo fence="true">(</mo><msup><mi>A</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo fence="true">)</mo></mrow><mrow><mi>j</mi><mi>k</mi></mrow></msub><msub><mi>y</mi><mi>j</mi></msub><msub><mi>y</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><mi>y</mi><mo>−</mo><msup><mi>x</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><msqrt><mrow><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mi>t</mi><mo fence="true">)</mo></mrow><mi>d</mi></msup><mi>det</mi><mo>⁡</mo><mi>A</mi></mrow></msqrt></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>t</mi></mrow></mfrac><msub><mrow><mo fence="true">(</mo><msup><mi>A</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo fence="true">)</mo></mrow><mrow><mi>j</mi><mi>k</mi></mrow></msub><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>−</mo><msubsup><mi>x</mi><mi>j</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><msub><mi>x</mi><mi>k</mi></msub><mo>−</mo><msubsup><mi>x</mi><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{K_t}{x,x&#x27;}&amp;=G^t\fc\dlt{x-x&#x27;}\\
&amp;=\int\fr{\d^dy}{\sqrt{\p{2\pi t}^d\det A}}\fc\exp{-\fr1{2t}\p{A^{-1}}_{jk}y_jy_k}\fc\dlt{x+y-x&#x27;}\\
&amp;=\fr{1}{\sqrt{\p{2\pi t}^d\det A}}\fc\exp{-\fr1{2t}\p{A^{-1}}_{jk}\p{x_j-x&#x27;_j}\p{x_k-x&#x27;_k}},
\end{align*}</annotation></semantics></math></span> which is the form that you would find in textbooks.</p>
<hr />
<p>The reason that I decided to study the Gaussian blur filter is that I spotted a flaw in the implementation of the blur filter in <a href="https://pixijs.com" target="_blank" rel="external">PixiJS</a>, where the uniform <code>uStrength</code> in the example shader above is scaled by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mi>N</mi></mrow><annotation encoding="application/x-tex">1/N</annotation></semantics></math></span> instead of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msqrt><mi>N</mi></msqrt></mrow><annotation encoding="application/x-tex">1/\sqrt N</annotation></semantics></math></span>. I was very happy to find the bug because this is the first time that I found a bug without actually producing an unexpected phenomenon first but by just staring at the source codes and deducing the mathematical formulas by hand. I opened an <a href="https://github.com/pixijs/pixijs/issues/11554" target="_blank" rel="external">issue</a> for my findings.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="programming" /><category term="algorithm" /><category term="shader" /><category term="probability" /><category term="pde" /><summary type="html"><![CDATA[According to the central limit theorem, the sum of some i.i.d. samples is normally distributed in the limit of large sample size. This fact can be used to implement a multi-pass Gaussian blur filter, where the total number of passes is equal to the number of samples used in the averaging. Through this, we can also see a nice relation to the heat equation, which is not surprising since the heat kernel is a Gaussian function.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-07-17-blur-filter.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-07-17-blur-filter.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[The buildup kickroll in <cite>Time to beat the odds</cite>]]></title><link href="https://ulysseszh.github.io/music/2025/06/22/beat-the-odds-kickroll.html" rel="alternate" type="text/html" title="The buildup kickroll in Time to beat the odds" /><published>2025-06-22T00:31:43-07:00</published><updated>2025-06-22T00:31:43-07:00</updated><id>https://ulysseszh.github.io/music/2025/06/22/beat-the-odds-kickroll</id><content type="html" xml:base="https://ulysseszh.github.io/music/2025/06/22/beat-the-odds-kickroll.html"><![CDATA[<details>
<summary>
Python preamble
</summary>
<p>Packages to install from PyPI: <code>numpy</code>, <code>scipy</code>, <code>matplotlib</code>, <code>soundfile</code>.</p>
<pre><code><span class="kn">import</span> <span class="n">numpy</span> <span class="k">as</span> <span class="n">np</span>
<span class="kn">from</span> <span class="n">scipy.signal</span> <span class="kn">import</span> <span class="n">ShortTimeFFT</span><span class="p">,</span> <span class="n">find_peaks</span>
<span class="kn">from</span> <span class="n">scipy.signal.windows</span> <span class="kn">import</span> <span class="n">hann</span>
<span class="kn">from</span> <span class="n">scipy.optimize</span> <span class="kn">import</span> <span class="n">fsolve</span>
<span class="kn">from</span> <span class="n">scipy.stats</span> <span class="kn">import</span> <span class="n">linregress</span>
<span class="kn">import</span> <span class="n">matplotlib.pyplot</span> <span class="k">as</span> <span class="n">plt</span>
<span class="kn">from</span> <span class="n">matplotlib.colors</span> <span class="kn">import</span> <span class="n">LogNorm</span>
<span class="kn">import</span> <span class="n">soundfile</span>
</code></pre>
</details>
<p>There is a nice song by 影虎。called <cite>Time to beat the odds</cite>:</p>
<div class="embed-container">
<iframe src="https://www.youtube.com/embed/C-XxL_LUB18" frameborder="0" allowfullscreen>
</iframe>
</div>
<p>At 1:18, there is an interesting buildup kickroll. This effect is created by mixing a steady 32nd note kickroll with a gradually-accelerating buildup kickroll. The gradually-accelerating part is not quantized to dyadic note values, so it is pretty hard to analyze by ear.</p>
<p>One can obtain a clearer sample of this kickroll by consulting the file <code>Dr_KICKroll00.ogg</code> from the <a href="https://bmssearch.net/bmses/Lay7qGChaJUgrs" target="_blank" rel="external">BMS</a>. The waveform of the sample looks like this:</p>
<details>
<summary>
Python code
</summary>
<pre><code><span class="n">samples</span><span class="p">,</span> <span class="n">fs</span> <span class="o">=</span> <span class="n">soundfile</span><span class="p">.</span><span class="nf">read</span><span class="p">(</span><span class="sh">"</span><span class="s">Kagetora_Time-to-beat-the-odds_bofet/Dr_KICKroll00.ogg</span><span class="sh">"</span><span class="p">)</span>
<span class="n">fs</span> <span class="o">/=</span> <span class="mi">1000</span> <span class="c1"># Use ms and kHz
</span><span class="k">if</span> <span class="n">samples</span><span class="p">.</span><span class="n">ndim</span> <span class="o">==</span> <span class="mi">2</span><span class="p">:</span>
	<span class="n">samples</span> <span class="o">=</span> <span class="n">samples</span><span class="p">.</span><span class="nf">mean</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
<span class="n">N</span> <span class="o">=</span> <span class="nf">len</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span>

<span class="n">plt</span><span class="p">.</span><span class="nf">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">plot</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nf">arange</span><span class="p">(</span><span class="n">N</span><span class="p">)</span> <span class="o">/</span> <span class="n">fs</span><span class="p">,</span> <span class="n">samples</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mf">0.5</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">xlabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Time (ms)</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">ylabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Amplitude</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">xlim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">N</span><span class="o">/</span><span class="n">fs</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">ylim</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</code></pre>
</details>
<figure>
<img src="/assets/images/figures/2025-06-22-beat-the-odds-kickroll/samples.svg" class="dark-adaptive" alt="Waveform plot." />
<figcaption aria-hidden="true">Waveform plot.</figcaption>
</figure>
<p>There is clearly a repeating pattern that is occurring at an gradually-increasing frequency. Each occurrence of the pattern is a kick. The task is to find the regularity of the kicks.</p>
<p>We can see that, at the start of each kick, the waveform is oscillating more rapidly than in later times of the kick. Therefore, a natural idea is to capture this high-frequency oscillation feature using the short-time Fourier transform (STFT), and we would expect to see some peaks at the high-frequency region of the spectrogram of the waveform at each kick occurrence. SciPy provides a convenient function for STFT, and then we can plot the spectrogram of the waveform:</p>
<details>
<summary>
Python code
</summary>
<pre><code><span class="n">hop</span> <span class="o">=</span> <span class="mi">32</span>
<span class="n">SFT</span> <span class="o">=</span> <span class="nc">ShortTimeFFT</span><span class="p">(</span><span class="nf">hann</span><span class="p">(</span><span class="n">hop</span><span class="p">),</span> <span class="n">hop</span><span class="p">,</span> <span class="n">fs</span><span class="p">)</span>
<span class="n">spectrogram</span> <span class="o">=</span> <span class="n">SFT</span><span class="p">.</span><span class="nf">spectrogram</span><span class="p">(</span><span class="n">samples</span><span class="p">)</span>

<span class="n">plt</span><span class="p">.</span><span class="nf">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span>
<span class="n">im</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="nf">imshow</span><span class="p">(</span>
	<span class="n">spectrogram</span><span class="p">,</span>
	<span class="n">aspect</span><span class="o">=</span><span class="sh">'</span><span class="s">auto</span><span class="sh">'</span><span class="p">,</span>
	<span class="n">origin</span><span class="o">=</span><span class="sh">'</span><span class="s">lower</span><span class="sh">'</span><span class="p">,</span>
	<span class="n">extent</span><span class="o">=</span><span class="n">SFT</span><span class="p">.</span><span class="nf">extent</span><span class="p">(</span><span class="n">N</span><span class="p">),</span>
	<span class="n">norm</span><span class="o">=</span><span class="nc">LogNorm</span><span class="p">(</span><span class="n">vmin</span><span class="o">=</span><span class="mf">0.001</span><span class="p">,</span> <span class="n">vmax</span><span class="o">=</span><span class="n">np</span><span class="p">.</span><span class="nf">max</span><span class="p">(</span><span class="n">spectrogram</span><span class="p">)),</span>
<span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">xlabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Time (ms)</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">ylabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Frequency (kHz)</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">colorbar</span><span class="p">(</span><span class="n">im</span><span class="p">,</span> <span class="n">label</span><span class="o">=</span><span class="sh">'</span><span class="s">Magnitude</span><span class="sh">'</span><span class="p">)</span>
</code></pre>
</details>
<figure>
<img src="/assets/images/figures/2025-06-22-beat-the-odds-kickroll/spectrogram.svg" class="dark-adaptive" alt="Spectrogram of the kick roll sample." />
<figcaption aria-hidden="true">Spectrogram of the kick roll sample.</figcaption>
</figure>
<p>We can see that there are clearly some peaks at the high-frequency region of the spectrogram. Pick out the peaks:</p>
<details>
<summary>
Python code
</summary>
<pre><code><span class="n">plt</span><span class="p">.</span><span class="nf">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">spectrogram</span><span class="p">[</span><span class="mi">14</span><span class="p">:,</span> <span class="p">:].</span><span class="nf">mean</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span>
<span class="n">peaks</span><span class="p">,</span> <span class="n">peak_properties</span> <span class="o">=</span> <span class="nf">find_peaks</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="n">height</span><span class="o">=</span><span class="mf">0.004</span><span class="p">,</span> <span class="n">distance</span><span class="o">=</span><span class="mi">7</span><span class="p">)</span>
<span class="n">peaks</span> <span class="o">=</span> <span class="n">peaks</span> <span class="o">*</span> <span class="n">hop</span> <span class="o">/</span> <span class="n">fs</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">xlabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Time (ms)</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">ylabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Average magnitude for high frequencies</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">plot</span><span class="p">(</span><span class="n">SFT</span><span class="p">.</span><span class="nf">t</span><span class="p">(</span><span class="n">N</span><span class="p">),</span> <span class="n">data</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">plot</span><span class="p">(</span><span class="n">peaks</span><span class="p">,</span> <span class="n">peak_properties</span><span class="p">[</span><span class="sh">'</span><span class="s">peak_heights</span><span class="sh">'</span><span class="p">],</span> <span class="sh">"</span><span class="s">o</span><span class="sh">"</span><span class="p">)</span>
</code></pre>
</details>
<figure>
<img src="/assets/images/figures/2025-06-22-beat-the-odds-kickroll/peaks.svg" class="dark-adaptive" alt="Each peak is approximately at the start of a kick." />
<figcaption aria-hidden="true">Each peak is approximately at the start of a kick.</figcaption>
</figure>
<p>To check that those peaks make sense, we can mark the positions of the peaks on the waveform to see if they are indeed approximately at the start of each kick:</p>
<details>
<summary>
Python code
</summary>
<pre><code><span class="n">plt</span><span class="p">.</span><span class="nf">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">plot</span><span class="p">(</span><span class="n">np</span><span class="p">.</span><span class="nf">arange</span><span class="p">(</span><span class="n">N</span><span class="p">)</span> <span class="o">/</span> <span class="n">fs</span><span class="p">,</span> <span class="n">samples</span><span class="p">)</span>
<span class="k">for</span> <span class="n">peak</span> <span class="ow">in</span> <span class="n">peaks</span><span class="p">:</span>
	<span class="n">plt</span><span class="p">.</span><span class="nf">axvline</span><span class="p">(</span><span class="n">peak</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="sh">'</span><span class="s">red</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">xlabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Time (ms)</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">ylabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Amplitude</span><span class="sh">'</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">xlim</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">200</span><span class="p">)</span>
<span class="n">plt</span><span class="p">.</span><span class="nf">ylim</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</code></pre>
</details>
<figure>
<img src="/assets/images/figures/2025-06-22-beat-the-odds-kickroll/peaks_on_samples.svg" class="dark-adaptive" alt="Waveform with high-frequency spectrogram peaks marked." />
<figcaption aria-hidden="true">Waveform with high-frequency spectrogram peaks marked.</figcaption>
</figure>
<p>We can see that although they are not perfectly at the start of each kick, the peaks are indeed approximately at the start of each kick. Now, plot the time intervals between each pair of consecutive peaks. If the plot is in log-scale, one can see that they approximately form a straight line, which means that the time intervals decay geometrically. We can use a simple linear regression to fit the data.</p>
<details>
<summary>
Python code
</summary>
<pre><code><span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="p">.</span><span class="nf">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">6</span><span class="p">))</span>
<span class="n">ax</span><span class="p">.</span><span class="nf">set_yscale</span><span class="p">(</span><span class="sh">'</span><span class="s">log</span><span class="sh">'</span><span class="p">)</span>
<span class="n">intervals</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="nf">diff</span><span class="p">(</span><span class="n">peaks</span><span class="p">)</span>
<span class="n">indices</span> <span class="o">=</span> <span class="n">np</span><span class="p">.</span><span class="nf">arange</span><span class="p">(</span><span class="nf">len</span><span class="p">(</span><span class="n">intervals</span><span class="p">))</span>
<span class="n">lin_res</span> <span class="o">=</span> <span class="nf">linregress</span><span class="p">(</span><span class="n">indices</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="nf">log</span><span class="p">(</span><span class="n">intervals</span><span class="p">))</span>
<span class="n">ax</span><span class="p">.</span><span class="nf">plot</span><span class="p">(</span><span class="n">indices</span><span class="p">,</span> <span class="n">intervals</span><span class="p">,</span> <span class="sh">'</span><span class="s">o</span><span class="sh">'</span><span class="p">)</span>
<span class="n">ax</span><span class="p">.</span><span class="nf">plot</span><span class="p">(</span><span class="n">indices</span><span class="p">,</span> <span class="n">np</span><span class="p">.</span><span class="nf">exp</span><span class="p">(</span><span class="n">lin_res</span><span class="p">.</span><span class="n">intercept</span> <span class="o">+</span> <span class="n">lin_res</span><span class="p">.</span><span class="n">slope</span> <span class="o">*</span> <span class="n">indices</span><span class="p">))</span>
<span class="n">ax</span><span class="p">.</span><span class="nf">set_xlabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Kick</span><span class="sh">'</span><span class="p">)</span>
<span class="n">ax</span><span class="p">.</span><span class="nf">set_ylabel</span><span class="p">(</span><span class="sh">'</span><span class="s">Interval (ms)</span><span class="sh">'</span><span class="p">)</span>
</code></pre>
</details>
<figure>
<img src="/assets/images/figures/2025-06-22-beat-the-odds-kickroll/intervals.svg" class="dark-adaptive" alt="Intervals between consecutive peaks." />
<figcaption aria-hidden="true">Intervals between consecutive peaks.</figcaption>
</figure>
<p>With the linear regression, we can conclude that the decay ratio is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0.9762</mn></mrow><annotation encoding="application/x-tex">0.9762</annotation></semantics></math></span>.</p>
<p>If we had guessed that the time intervals decay geometrically and that the first kick has the length of a 32nd note, we could calculate the decay ratio <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi></mrow><annotation encoding="application/x-tex">a</annotation></semantics></math></span> by solving the equation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mn>8</mn></mfrac><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msup><mi>a</mi><mn>59</mn></msup><mo fence="true">)</mo></mrow><mo>=</mo><mn>4</mn><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>a</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fr18\p{1-a^{59}}=4\p{1-a},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mn>8</mn></mrow><annotation encoding="application/x-tex">1/8</annotation></semantics></math></span> is the note value of a 32nd note, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>4</mn></mrow><annotation encoding="application/x-tex">4</annotation></semantics></math></span> is the total note value of this kickroll (a measure with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>4</mn></mrow><annotation encoding="application/x-tex">4</annotation></semantics></math></span> quarter notes), and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>59</mn></mrow><annotation encoding="application/x-tex">59</annotation></semantics></math></span> is the total number of kicks (obtained by counting the patterns in the waveform). Solving this equation numerically gives us <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>a</mi><mo>=</mo><mn>0.9764</mn></mrow><annotation encoding="application/x-tex">a=0.9764</annotation></semantics></math></span>, which is pretty close to the value we got before.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="music" /><category term="fourier transform" /><category term="python" /><summary type="html"><![CDATA[There is a gradually-accelerating buildup kickroll at 1:18 in the song <cite>Time to beat the odds</cite> by 影虎。. In order to know the details of this rhythm, I have to analyze the sample using Python. The main method is to do a short-time Fourier transform and to find the peaks in the high-frequency region of the spectrogram. A linear regression shows that the time intervals decay geometrically.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-06-22-beat-the-odds-kickroll.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-06-22-beat-the-odds-kickroll.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Eigenfunctions of the Laplacian on an annulus with homogeneous Neumann boundary condition]]></title><link href="https://ulysseszh.github.io/math/2025/04/11/laplacian-annulus.html" rel="alternate" type="text/html" title="Eigenfunctions of the Laplacian on an annulus with homogeneous Neumann boundary condition" /><published>2025-04-11T00:40:49-07:00</published><updated>2025-04-11T00:40:49-07:00</updated><id>https://ulysseszh.github.io/math/2025/04/11/laplacian-annulus</id><content type="html" xml:base="https://ulysseszh.github.io/math/2025/04/11/laplacian-annulus.html"><![CDATA[<h2 data-label="0.1" id="the-problem-and-the-solution">The problem and the solution</h2>
<p>Suppose there is an annulus defined by the region <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub><mo>&lt;</mo><mi>ρ</mi><mo>&lt;</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\set{\p{\rho,\vphi}}{R_\mrm{in}&lt;\rho&lt;R_\mrm{out}}</annotation></semantics></math></span>. What are the functions <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Φ</mi></mrow><annotation encoding="application/x-tex">\Phi</annotation></semantics></math></span> defined on this region that satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>λ</mi><mi mathvariant="normal">Φ</mi><mo>=</mo><msup><mi mathvariant="normal">∇</mi><mn>2</mn></msup><mi mathvariant="normal">Φ</mi><mo>=</mo><mfrac><mn>1</mn><mi>ρ</mi></mfrac><msub><mi mathvariant="normal">∂</mi><mi>ρ</mi></msub><mrow><mo fence="true">(</mo><mi>ρ</mi><msub><mi mathvariant="normal">∂</mi><mi>ρ</mi></msub><mi mathvariant="normal">Φ</mi><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><msup><mi>ρ</mi><mn>2</mn></msup></mfrac><msubsup><mi mathvariant="normal">∂</mi><mi>φ</mi><mn>2</mn></msubsup><mi mathvariant="normal">Φ</mi></mrow><annotation encoding="application/x-tex">\lmd\Phi=\nabla^2\Phi=\fr1\rho\partial_\rho\p{\rho\partial_\rho\Phi}+\fr1{\rho^2}\partial_\vphi^2\Phi</annotation></semantics></math></span> and the boundary conditions <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">∂</mi><mi>ρ</mi></msub><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo>=</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi mathvariant="normal">∂</mi><mi>ρ</mi></msub><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo>=</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\partial_\rho\fc\Phi{\rho=R_\mrm{in},\vphi}=\partial_\rho\fc\Phi{\rho=R_\mrm{out},\vphi}=0,</annotation></semantics></math></span> i.e., eigenfunctions of the Laplacian on the annulus with homogeneous Neumann boundary conditions?</p>
<p>For any boundary condition with azimuthal symmetry, an easy separation of variable gives you solutions of the general form <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>m</mi><mi>φ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc\Phi{\rho,\vphi}=\p{\Xi^{\p J}\fc{J_m}{z\rho/R_\mrm{out}}+\Xi^{\p Y}\fc{Y_m}{z\rho/R_\mrm{out}}}\e^{\i m\vphi},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Xi^{\p J}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Xi^{\p Y}</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> are constants fixed by the boundary conditions, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span> is an integer and the azimuthal quantum number. The functions <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">J_m</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">Y_m</annotation></semantics></math></span> are Bessel functions of the first and second kind, respectively, which are two linearly independent solutions of the Bessel equation <span id="eq:bessel-equation" data-label="(1)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>z</mi><mn>2</mn></msup><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>z</mi><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">(</mo><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">z^2\fc{y&#x27;&#x27;}z+z\fc{y&#x27;}z+\p{z^2-m^2}\fc{y}z=0</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(1)</annotation></semantics></math></span></span> </span></span> with some particular normalization. Plugging the general form into the boundary condition, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo><mspace width="1em"/><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\Xi^{\p J}\fc{J_m&#x27;}{z}+\Xi^{\p Y}\fc{Y_m&#x27;}{z}=0,\quad
\Xi^{\p J}\fc{J_m&#x27;}{rz}+\Xi^{\p Y}\fc{Y_m&#x27;}{rz}=0,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub></mrow><annotation encoding="application/x-tex">r\ceq R_\mrm{in}/R_\mrm{out}</annotation></semantics></math></span>. This is regarded as a homogeneous linear system of equations for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>J</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Xi^{\p J}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ξ</mi><mrow><mo fence="true">(</mo><mi>Y</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Xi^{\p Y}</annotation></semantics></math></span>. In order for it to have nontrivial solutions, the determinant of the coefficient matrix must vanish, which gives <span id="eq:g" data-label="(2)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\fc gz\ceq\fc{J_m&#x27;}{rz}\fc{Y_m&#x27;}z-\fc{Y_m&#x27;}{rz}\fc{J_m&#x27;}z=0.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(2)</annotation></semantics></math></span></span> </span></span> We can then assign a radial quantum number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> to the eigenfunctions by making the value of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>th root of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span>, which we may casually call <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span>.</p>
<p>We then have the final solution (up to normalization) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">Φ</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><mo>−</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo fence="true">)</mo></mrow><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>m</mi><mi>φ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\Phi_{mn}}{\rho,\vphi}=\p{\fc{Y_m&#x27;}{z_{mn}}\fc{J_m}{z_{mn}\rho/R_\mrm{out}}
-\fc{J_m&#x27;}{z_{mn}}\fc{Y_m}{z_{mn}\rho/R_\mrm{out}}}\e^{\i m\vphi},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span> is the azimuthal quantum number, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> is the radial quantum number, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span> is defined as the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>th root of the function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span>. The eigenvalue is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>=</mo><mo>−</mo><msubsup><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow><mn>2</mn></msubsup><mi mathvariant="normal">/</mi><msubsup><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow><mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">\lmd_{mn}=-z_{mn}^2/R_\mrm{out}^2</annotation></semantics></math></span>. In order for the eigenfunctions to be complete, we need to allow <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span> to be any integer, but we will restrict ourselves to non-negative <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span> in the rest of the article because the negative ones are practically the same as the positive ones.</p>
<h2 data-label="0.2" id="distribution-of-eigenvalues">Distribution of eigenvalues</h2>
<p>From the well-known asymptotic form of the Bessel functions (<a href="https://dlmf.nist.gov/10.7#E8" target="_blank" rel="external">source</a>) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><msqrt><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac></msqrt><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><msqrt><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac></msqrt><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{J_m}{z\to\infty}=\sqrt{\fr2{\pi z}}\fc\cos{z-\fr{m\pi}2-\fr\pi4},\quad
\fc{Y_m}{z\to\infty}=\sqrt{\fr2{\pi z}}\fc\sin{z-\fr{m\pi}2-\fr\pi4},</annotation></semantics></math></span> we can easily conclude that the asymptotic form of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mn>2</mn><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>π</mi><msqrt><mi>r</mi></msqrt><mtext> </mtext><mi>z</mi></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc g{z\to\infty}=\fr{2\fc\sin{\p{1-r}z}}{\pi\sqrt r\,z}.</annotation></semantics></math></span> This inspires us to define a function in companion with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span> as <span id="eq:f" data-label="(3)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc fz\ceq\fc{J_m&#x27;}{rz}\fc{J_m&#x27;}z+\fc{Y_m&#x27;}{rz}\fc{Y_m&#x27;}z,</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(3)</annotation></semantics></math></span></span> </span></span> which will have the asymptotic form <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mn>2</mn><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>π</mi><msqrt><mi>r</mi></msqrt><mtext> </mtext><mi>z</mi></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc f{z\to\infty}=\fr{2\fc\cos{\p{1-r}z}}{\pi\sqrt r\,z}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∼</mo><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">f\sim\cos\fc\tht z</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mo>∼</mo><mi>sin</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">g\sim\sin\fc\tht z</annotation></semantics></math></span> are like the cosine and sine pair of oscillatory functions, with a phase angle <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">\fc\tht{z\to\infty}=\p{1-r}z</annotation></semantics></math></span> asymptotically directly proportional to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>.</p>
<p>Here is a plot that shows how <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span> behaves:</p>
<figure>
<img src="/assets/images/figures/2025-04-11-laplacian-annulus/theta-asymptotic.svg" class="dark-adaptive" alt="Plot of  and  for , " />
<figcaption aria-hidden="true">Plot of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">\p{1-r}z</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">m=4</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>3</mn></mrow><annotation encoding="application/x-tex">r=1/3</annotation></semantics></math></span></figcaption>
</figure>
<p class="no-indent">
The blue line is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>arctan</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\arctan{\fc gz/\fc fz}</annotation></semantics></math></span>, and the orange line is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>arctan</mi><mo>⁡</mo><mi>tan</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\arctan\fc\tan{\p{1-r}z}</annotation></semantics></math></span>. we can see that the two functions are asymptotically equal.
</p>
<p>A good thing about this description is that we can now see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span> as a root of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span> is just the solution to the equation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>n</mi><mi>π</mi></mrow><annotation encoding="application/x-tex">\fc\tht z=n\pi</annotation></semantics></math></span>. In other words, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span> are just the points at which the blue line crosses the horizontal axis in the plot above. Therefore, if we can find the inverse function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc z\tht</annotation></semantics></math></span> (maybe in a series expansion), we can directly get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>=</mo><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mi>π</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">z_{mn}=\fc z{n\pi}</annotation></semantics></math></span>. We can see from the plot that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>θ</mi><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc z\tht=\tht/\p{1-r}</annotation></semantics></math></span> is probably not a good enough approximation. Therefore, we would like to seek higher order terms.</p>
<h3 data-label="0.2.1" id="kummers-equation">Kummer’s equation</h3>
<p>For this part, we employ a method similar to a <a href="https://www.math.toronto.edu/bremer/papers/bessel2.pdf" target="_blank" rel="external">paper</a> by Bremer.</p>
<p>First, for a general homogeneous second-order linear ODE in the form <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><mn>2</mn><mi>χ</mi><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>+</mo><mi>ψ</mi><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y&#x27;&#x27;+2\chi y&#x27;+\psi y=0</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi></mrow><annotation encoding="application/x-tex">\chi</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ψ</mi></mrow><annotation encoding="application/x-tex">\psi</annotation></semantics></math></span> are known functions of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>, we can define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>y</mi><mi mathvariant="normal">n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>p</mi><mi>y</mi><mo separator="true">,</mo><mspace width="1em"/><mi>p</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>C</mi><mi>exp</mi><mo>⁡</mo><mo>∫</mo><mi>χ</mi><mtext> </mtext><mi mathvariant="normal">d</mi><mi>z</mi><mo separator="true">,</mo><mspace width="1em"/><mi>q</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>p</mi><mi>ψ</mi><mo>−</mo><msup><mi>p</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">y_\mrm n\ceq py,\quad p\ceq C\exp\int\chi\,\d z,
\quad q\ceq p\psi-p&#x27;&#x27;,</annotation></semantics></math></span> and the ODE will become a normal form <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>y</mi><mi mathvariant="normal">n</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msubsup><mo>+</mo><mi>q</mi><msub><mi>y</mi><mi mathvariant="normal">n</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y_\mrm n&#x27;&#x27;+qy_\mrm n=0</annotation></semantics></math></span>. Therefore, for any second-order linear ODE, we only need to consider those without the first-derivative term.</p>
<p>Then, one can prove that, for the ODE <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><mi>q</mi><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y&#x27;&#x27;+qy=0</annotation></semantics></math></span>, its two linearly independent solutions can be expressed as <span id="eq:kummer-solutions" data-label="(4)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>u</mi><mo>=</mo><mfrac><mrow><mi>cos</mi><mo>⁡</mo><mi>α</mi></mrow><msqrt><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msqrt></mfrac><mo separator="true">,</mo><mspace width="1em"/><mi>v</mi><mo>=</mo><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>α</mi></mrow><msqrt><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msqrt></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">u=\fr{\cos\alp}{\sqrt{\alp&#x27;}},\quad v=\fr{\sin\alp}{\sqrt{\alp&#x27;}},</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(4)</annotation></semantics></math></span></span> </span></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span> satisfy Kummer’s equation <span id="eq:kummer" data-label="(5)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup><mo>+</mo><mfrac><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mrow><mn>2</mn><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow></mfrac><mo>−</mo><mfrac><mrow><mn>3</mn><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup></mrow><mrow><mn>4</mn><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup></mrow></mfrac><mo>=</mo><mi>q</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\alp^{\prime2}+\fr{\alp&#x27;&#x27;&#x27;}{2\alp&#x27;}-\fr{3\alp^{\prime\prime2}}{4\alp^{\prime2}}=q.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>5</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(5)</annotation></semantics></math></span></span> </span></span> This may seem like converting a problem to a more complicated one, but the advantage is that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span> is not oscillatory while <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span> are oscillatory, which means that it would be easier to expand <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span> as a series for large <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>. Notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><msup><mi>u</mi><mn>2</mn></msup><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\alp&#x27;=1/\p{u^2+v^2}</annotation></semantics></math></span>, which provides a means of finding <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span> if the solutions of the original ODE are known.</p>
<details>
<summary>
Derivation
</summary>
<p>For the ODE <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><mi>q</mi><mi>y</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">y&#x27;&#x27;+qy=0</annotation></semantics></math></span>, substitute the trial solution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi><mo>=</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>α</mi><mo>+</mo><mi mathvariant="normal">i</mi><mi>β</mi></mrow></msup></mrow><annotation encoding="application/x-tex">y=\e^{\alp+\i\beta}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo separator="true">,</mo><mi>β</mi></mrow><annotation encoding="application/x-tex">\alp,\beta</annotation></semantics></math></span> are real functions of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>. We can derive the following equations: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><mn>2</mn><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msup><mi>β</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mn>0</mn><mo separator="true">,</mo><mspace width="1em"/><msup><mi>β</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mo>+</mo><msup><mi>β</mi><mrow><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup><mo>−</mo><msup><mi>α</mi><mrow><mo mathvariant="normal">′</mo><mn>2</mn></mrow></msup><mo>+</mo><mi>q</mi><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\alp&#x27;&#x27;+2\alp&#x27;\beta&#x27;=0,\quad
\beta&#x27;&#x27;+\beta^{\prime2}-\alp^{\prime2}+q=0.</annotation></semantics></math></span> The first equation gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\beta=-\ln\alp&#x27;/2</annotation></semantics></math></span>, which we can substitute into the second equation to get Equation <a href="#eq:kummer">5</a>. On the other hand, the real and imaginary parts of the trial solution gives us Equation <a href="#eq:kummer-solutions">4</a>. Technically speaking, it can be called the real and imaginary parts only if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\alp&#x27;&gt;0</annotation></semantics></math></span>, but they are still solutions to the ODE.</p>
<p>Another way to prove Kummer’s equation is just substituting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><msup><mi>u</mi><mn>2</mn></msup><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\alp&#x27;=1/\p{u^2+v^2}</annotation></semantics></math></span> and check that it satisfies Kummer’s equation if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi></mrow><annotation encoding="application/x-tex">u</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>v</mi></mrow><annotation encoding="application/x-tex">v</annotation></semantics></math></span> satisfy the ODE and have Wronkskian equal to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>.</p>
</details>
<p>Now, we can try to apply this to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">J_m&#x27;</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">Y_m&#x27;</annotation></semantics></math></span>. First, we need to find the second-order ODE that those two functions satisfy. We already know that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">J_m</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>Y</mi><mi>m</mi></msub></mrow><annotation encoding="application/x-tex">Y_m</annotation></semantics></math></span> are solutions to Equation <a href="#eq:bessel-equation">1</a>, so it would be straightforward to derive that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">J_m&#x27;</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">Y_m&#x27;</annotation></semantics></math></span> satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mi>z</mi></mfrac><mfrac><mrow><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><mn>3</mn><msup><mi>m</mi><mn>2</mn></msup></mrow><mrow><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup></mrow></mfrac><msup><mi>y</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mrow><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>1</mn></mrow><msup><mi>z</mi><mn>2</mn></msup></mfrac><mo>−</mo><mfrac><mrow><mn>2</mn><msup><mi>m</mi><mn>2</mn></msup></mrow><mrow><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\fc{y&#x27;&#x27;}z+\fr1z\fr{z^2-3m^2}{z^2-m^2}\fc{y&#x27;}z
+\p{1-\fr{m^2+1}{z^2}-\fr{2m^2}{z^2-m^2}}\fc yz=0.</annotation></semantics></math></span> To reduce this into the normal form without the first-derivative term, define <span id="eq:p-and-q" data-label="(6)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msqrt><mfrac><mi>π</mi><mn>2</mn></mfrac></msqrt><mfrac><msup><mi>z</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><msqrt><mrow><msup><mi>z</mi><mn>2</mn></msup><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup></mrow></msqrt></mfrac><mo separator="true">,</mo><mspace width="1em"/><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mo>−</mo><mfrac><mrow><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>−</mo><mn>1</mn></mrow><mrow><mn>4</mn><msup><mi>z</mi><mn>2</mn></msup></mrow></mfrac><mo>−</mo><mfrac><mrow><mn>2</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><msup><mi>z</mi><mn>2</mn></msup></mrow><msup><mrow><mo fence="true">(</mo><msup><mi>m</mi><mn>2</mn></msup><mo>−</mo><msup><mi>z</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc pz\ceq\sqrt{\fr\pi2}\fr{z^{3/2}}{\sqrt{z^2-m^2}},\quad
\fc qz\ceq1-\fr{4m^2-1}{4z^2}-\fr{2m^2+z^2}{\p{m^2-z^2}^2},</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>6</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(6)</annotation></semantics></math></span></span> </span></span> and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc pz\fc{J_m&#x27;}z</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc pz\fc {Y_m&#x27;}z</annotation></semantics></math></span> satisfy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>y</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mi>y</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{y&#x27;&#x27;}z+\fc qz\fc yz=0</annotation></semantics></math></span>. Equation <a href="#eq:kummer-solutions">4</a> then gives <span id="eq:bessel-as-kummer-solutions" data-label="(7)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>cos</mi><mo>⁡</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msqrt><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></msqrt></mrow></mfrac><mo separator="true">,</mo><mspace width="1em"/><mo>−</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msqrt><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></msqrt></mrow></mfrac></mrow><annotation encoding="application/x-tex">\fc{Y_m&#x27;}z=\fr{\cos\fc\alp z}{\fc pz\sqrt{\fc{\alp&#x27;}z}},\quad
-\fc{J_m&#x27;}z=\fr{\sin\fc\alp z}{\fc pz\sqrt{\fc{\alp&#x27;}z}}</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>7</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(7)</annotation></semantics></math></span></span> </span></span> (the normalization of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math></span> and the initial value of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span> are chosen to make sure they are correct). You may worry that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>&lt;</mo><mi>m</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc p{z&lt;m}</annotation></semantics></math></span> is imaginary, but <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\alp&#x27;}z</annotation></semantics></math></span> will be negative in that region so that everything works out and is real in the end. Substitute Equation <a href="#eq:bessel-as-kummer-solutions">7</a> into Equation <a href="#eq:f">3</a> and <a href="#eq:g">2</a>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>cos</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msqrt><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></msqrt></mrow></mfrac><mo separator="true">,</mo><mspace width="1em"/><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>sin</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msqrt><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></msqrt></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc fz=\fr{\cos\fc\tht z}{\fc p{rz}\fc pz\sqrt{\fc{\alp&#x27;}{rz}\fc{\alp&#x27;}z}},\quad
\fc gz=\fr{\sin\fc\tht z}{\fc p{rz}\fc pz\sqrt{\fc{\alp&#x27;}{rz}\fc{\alp&#x27;}z}},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z\ceq\fc\alp z-\fc\alp{rz}</annotation></semantics></math></span>. By this, we have a workable expression for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> so that we now just need to turn our attention to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span>.</p>
<p>We can substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>q</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc qz</annotation></semantics></math></span> in Equation <a href="#eq:p-and-q">6</a> into Equation <a href="#eq:kummer">5</a> and expand on both sides as a series of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> at infinity and solve for the series coefficients to get <span id="eq:alpha-prime-few-terms" data-label="(8)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn><mo>+</mo><mfrac><mrow><mo>−</mo><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>−</mo><mn>3</mn></mrow><mrow><mn>8</mn><msup><mi>z</mi><mn>2</mn></msup></mrow></mfrac><mo>+</mo><mfrac><mrow><mo>−</mo><mn>16</mn><msup><mi>m</mi><mn>4</mn></msup><mo>−</mo><mn>184</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>63</mn></mrow><mrow><mn>128</mn><msup><mi>z</mi><mn>4</mn></msup></mrow></mfrac><mo>+</mo><mo>⋯</mo><mtext> </mtext><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\alp&#x27;}z=1+\fr{-4m^2-3}{8z^2}+\fr{-16m^4-184m^2+63}{128z^4}+\cdots,</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>8</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(8)</annotation></semantics></math></span></span> </span></span> which has a certain convergence radius which is not important at this stage.</p>
<h3 data-label="0.2.2" id="asymptotic-expansion">Asymptotic expansion</h3>
<p>Here we will work out another way of expanding <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span> as a series based on properties of the Bessel functions. From Equation <a href="#eq:bessel-as-kummer-solutions">7</a>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mi>p</mi><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mo fence="true">(</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr1{\fc{\alp&#x27;}z}=\fc pz^2\p{\fc{J_m&#x27;}z^2+\fc{Y_m&#x27;}z^2}.</annotation></semantics></math></span> If we were working with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\fc{J_m}z^2+\fc{Y_m}z^2</annotation></semantics></math></span> instead, we would be able to employ the handy Nicholson’s integral, but the same method cannot be applied here.</p>
<details>
<summary>
Why it does not work
</summary>
<p>Nicholson’s integral is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><mfrac><mn>8</mn><msup><mi>π</mi><mn>2</mn></msup></mfrac><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mi>cosh</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>m</mi><mi>t</mi><mo fence="true">)</mo></mrow><msub><mi>K</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>z</mi><mi>sinh</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>t</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{J_m}z^2+\fc{Y_m}z^2=\fr8{\pi^2}\int_0^\infty\fc\cosh{2mt}\fc{K_0}{2z\sinh t}\d t,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>K</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">K_0</annotation></semantics></math></span> is the modified Bessel function. A derivation is given in Section 13.73 of Watson’s <cite>A Treatise on the Theory of Bessel Functions</cite>.</p>
<p>To apply this to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\fc{J_m&#x27;}z^2+\fc{Y_m&#x27;}z^2</annotation></semantics></math></span>, we need to use (<a href="https://dlmf.nist.gov/10.6#E1" target="_blank" rel="external">source</a>) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msub><mi>J</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>J</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msub><mi>Y</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>Y</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{J_m&#x27;}z=\fr12\p{\fc{J_{m-1}}z-\fc{J_{m+1}}z},\quad
\fc{Y_m&#x27;}z=\fr12\p{\fc{Y_{m-1}}z-\fc{Y_{m+1}}z}.</annotation></semantics></math></span> Then, we just need to work out the cross terms <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>J</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>Y</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>Y</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{J_{m-1}}z\fc{J_{m+1}}z+\fc{Y_{m-1}}z\fc{Y_{m+1}}z</annotation></semantics></math></span>. By the same method of deriving Nicholson’s integral, we can get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mphantom><mo>=</mo><mrow></mrow></mphantom><msub><mi>J</mi><msub><mi>m</mi><mn>1</mn></msub></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>J</mi><msub><mi>m</mi><mn>2</mn></msub></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>Y</mi><msub><mi>m</mi><mn>1</mn></msub></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>Y</mi><msub><mi>m</mi><mn>2</mn></msub></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>4</mn><msup><mi>π</mi><mn>2</mn></msup></mfrac><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">e</mi><mrow><mrow><mo fence="true">(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>+</mo><msub><mi>m</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mi>t</mi></mrow></msup><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mrow><mo fence="true">(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>−</mo><msub><mi>m</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mi>π</mi><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mrow><mo fence="true">(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>+</mo><msub><mi>m</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mi>t</mi></mrow></msup><mo fence="true">)</mo></mrow><msub><mi>K</mi><mrow><msub><mi>m</mi><mn>2</mn></msub><mo>−</mo><msub><mi>m</mi><mn>1</mn></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>z</mi><mi>sinh</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>t</mi><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
&amp;\phantom{={}}\fc{J_{m_1}}z\fc{J_{m_2}}z+\fc{Y_{m_1}}z\fc{Y_{m_2}}z\\
&amp;=\fr4{\pi^2}\int_0^\infty\p{\e^{\p{m_1+m_2}t}\fc\cos{\p{m_1-m_2}\pi}
+\e^{-\p{m_1+m_2}t}}\fc{K_{m_2-m_1}}{2z\sinh t}\d t,
\end{align*}</annotation></semantics></math></span> which is a more general version of Nicholson’s integral. However, this formula is only valid for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi mathvariant="normal">Re</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>m</mi><mn>1</mn></msub><mo>−</mo><msub><mi>m</mi><mn>2</mn></msub><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\v{\fc\Re{m_1-m_2}}&lt;1</annotation></semantics></math></span> because otherwise the integral diverges near <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>t</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">t=0</annotation></semantics></math></span>, while we need <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mn>2</mn></msub><mo>−</mo><msub><mi>m</mi><mn>1</mn></msub><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">m_2-m_1=2</annotation></semantics></math></span>.</p>
<p>One can also try to employ the same method of deriving Nicholson’s integral directly on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\fc{J_m&#x27;}z^2+\fc{Y_m&#x27;}z^2</annotation></semantics></math></span>, but it will turn out to have the same divergence problem. Briefly speaking, there is a term that is an infinitesimal quantity times the integral of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="normal">∂</mi><mi>μ</mi><mn>2</mn></msubsup><msub><mi>K</mi><mi>μ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>z</mi><mi>sinh</mi><mo>⁡</mo><mi>t</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\partial_\mu^2\fc{K_\mu}{2z\sinh t}</annotation></semantics></math></span>, which can only be thrown away without any problem if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><mi mathvariant="normal">Re</mi><mo>⁡</mo><mi>μ</mi><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\v{\Re\mu}&lt;1</annotation></semantics></math></span>, which is not the case here.</p>
</details>
<p class="no-indent">
We can, however, use the asymptotic expansion of the Bessel functions directly (<a href="https://dlmf.nist.gov/10.17#E9" target="_blank" rel="external">source</a>): <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msqrt><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac></msqrt><mrow><mo fence="true">(</mo><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub></mrow><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo>−</mo><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msqrt><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac></msqrt><mrow><mo fence="true">(</mo><mi>cos</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo>+</mo><mi>sin</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub></mrow><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{Y_m&#x27;}z&amp;=\sqrt{\fr2{\pi z}}\p{\fc\cos{z-\fr{m\pi}2-\fr\pi4}
\sum_{k=0}^\infty\fr{\p{-1}^kc_{2k}}{z^{2k}}
-\fc\sin{z-\fr{m\pi}2-\fr\pi4}\sum_{k=0}^\infty\fr{\p{-1}^kc_{2k+1}}{z^{2k+1}}},\\
-\fc{J_m&#x27;}z&amp;=\sqrt{\fr2{\pi z}}\p{\fc\cos{z-\fr{m\pi}2-\fr\pi4}
\sum_{k=0}^\infty\fr{\p{-1}^kc_{2k+1}}{z^{2k+1}}
+\fc\sin{z-\fr{m\pi}2-\fr\pi4}\sum_{k=0}^\infty\fr{\p{-1}^kc_{2k}}{z^{2k}}},
\end{align*}</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>c</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>a</mi><mi>k</mi></msub><mo>+</mo><mrow><mo fence="true">(</mo><mi>k</mi><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo fence="true">)</mo></mrow><msub><mi>a</mi><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msub><mo separator="true">,</mo><mspace width="1em"/><msub><mi>a</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn><mo>−</mo><mi>m</mi><mo fence="true">)</mo></mrow><mover accent="true"><mi>k</mi><mo stretchy="true">‾</mo></mover></msup><msup><mrow><mo fence="true">(</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn><mo>+</mo><mi>m</mi><mo fence="true">)</mo></mrow><mover accent="true"><mi>k</mi><mo stretchy="true">‾</mo></mover></msup></mrow><mrow><msup><mn>2</mn><mi>k</mi></msup><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">c_k\ceq a_k+\p{k-\fr12}a_{k-1},\quad
a_k\ceq\p{-1}^k\fr{\p{1/2-m}^{\overline k}\p{1/2+m}^{\overline k}}{2^kk!},</annotation></semantics></math></span> where the raising factorial notation is used. By combining them, we get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><mfrac><mn>2</mn><mi>π</mi></mfrac><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msub><mi>r</mi><mi>k</mi></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>r</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mi>k</mi></mrow></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>l</mi></msup><msub><mi>c</mi><mi>l</mi></msub><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{J_m&#x27;}z^2+\fc{Y_m&#x27;}z^2=\fr2\pi\sum_{k=0}^\infty\fr{r_k}{z^{2k+1}},\quad
r_k\ceq\p{-1}^k\sum_{l=0}^{2k}\p{-1}^lc_lc_{2k-l}.</annotation></semantics></math></span>
</p>
<details>
<summary>
Derivation
</summary>
<p>First, expand the squares, and the cross terms will cancel, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><mi>π</mi><mi>z</mi></mrow><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow><mo>=</mo><msup><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>k</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>k</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr{\pi z}2\p{\fc{J_m&#x27;}z^2+\fc{Y_m&#x27;}z^2}=
\p{\sum_k\p{-1}^k\fr{c_{2k}}{z^{2k}}}^2
+\p{\sum_k\p{-1}^k\fr{c_{2k+1}}{z^{2k+1}}}^2.</annotation></semantics></math></span> For the first term, combine a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mi>l</mi></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2l}</annotation></semantics></math></span> and a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mi>k</mi><mo>−</mo><mi>l</mi><mo fence="true">)</mo></mrow></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2\p{k-l}}</annotation></semantics></math></span> to get a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2k}</annotation></semantics></math></span>, so that we can resum it as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>k</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi></mrow></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>l</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>l</mi></mrow></msub><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mi>l</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\p{\sum_k\p{-1}^k\fr{c_{2k}}{z^{2k}}}^2
=\sum_{k=0}^\infty\fr1{z^{2k}}\sum_{l=0}^k\p{-1}^lc_{2l}\p{-1}^{k-l}c_{2k-2l}.</annotation></semantics></math></span> Similarly, for the other term, combine a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mi>l</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2l-1}</annotation></semantics></math></span> and a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mrow><mo fence="true">(</mo><mi>k</mi><mo>−</mo><mi>l</mi><mo fence="true">)</mo></mrow><mo>+</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2\p{k-l}+1}</annotation></semantics></math></span> to get a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mrow><annotation encoding="application/x-tex">1/z^{2k}</annotation></semantics></math></span>, so that we can resum it as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mrow><mo fence="true">(</mo><munder><mo>∑</mo><mi>k</mi></munder><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mfrac><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mi>l</mi><mo>−</mo><mn>1</mn></mrow></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>l</mi><mo>−</mo><mn>1</mn></mrow></msub><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\p{\sum_k\p{-1}^k\fr{c_{2k+1}}{z^{2k+1}}}^2
=\sum_{k=0}^\infty\fr1{z^{2k}}\sum_{l=1}^k\p{-1}^{l-1}c_{2l-1}\p{-1}^{k-l}c_{2k-2l+1}.</annotation></semantics></math></span> Combine to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mi>π</mi><mi>z</mi></mrow><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mrow><mo fence="true">(</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>l</mi></mrow></msub><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mi>l</mi></mrow></msub><mo>+</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup><msub><mi>c</mi><mrow><mn>2</mn><mi>l</mi><mo>−</mo><mn>1</mn></mrow></msub><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mrow><mn>2</mn><mi>k</mi></mrow></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>l</mi></msup><msub><mi>c</mi><mi>l</mi></msub><msub><mi>c</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fr{\pi z}2\p{\fc{J_m&#x27;}z^2+\fc{Y_m&#x27;}z^2}&amp;=
\sum_{k=0}^\infty\fr1{z^{2k}}
\p{\sum_{l=0}^k\p{-1}^kc_{2l}c_{2k-2l}
+\sum_{l=1}^k\p{-1}^{k-1}c_{2l-1}c_{2k-2l+1}}\\
&amp;=\sum_{k=0}^\infty\fr{\p{-1}^k}{z^{2k}}
\sum_{l=0}^{2k}\p{-1}^lc_lc_{2k-l}.
\end{align*}</annotation></semantics></math></span></p>
</details>
<p>Then, take the reciprocal of the series, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow></mfrac><mo>=</mo><mfrac><mi>π</mi><mn>2</mn></mfrac><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fr1{\fc{J_m&#x27;}z^2+\fc{Y_m&#x27;}z^2}=\fr\pi2\sum_{k=0}^\infty\fr{r^\mrm r_k}{z^{2k-1}},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup></mrow><annotation encoding="application/x-tex">r^\mrm r_k</annotation></semantics></math></span> is defined recursively as (noticing that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mn>0</mn></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r_0=1</annotation></semantics></math></span>) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>r</mi><mn>0</mn><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>r</mi><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn></mrow><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">r^\mrm r_0\ceq 1,\quad
r^\mrm r_{k&gt;0}\ceq-\sum_{l=1}^kr_lr^\mrm r_{k-l}.</annotation></semantics></math></span></p>
<details>
<summary>
Series reciprocation
</summary>
<p>For a series <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></msubsup><msub><mi>r</mi><mi>k</mi></msub><msup><mi>z</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\sum_{k=0}^\infty r_kz^k</annotation></semantics></math></span>, what is the reciprocal <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">(</mo><msubsup><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></msubsup><msub><mi>r</mi><mi>k</mi></msub><msup><mi>z</mi><mi>k</mi></msup><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\p{\sum_{k=0}^\infty r_kz^k}^{-1}</annotation></semantics></math></span>? Assume that it is another series <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></msubsup><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>z</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\sum_{k=0}^\infty r^\mrm r_kz^k</annotation></semantics></math></span>. Then, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>1</mn><mo>=</mo><mrow><mo fence="true">(</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msub><mi>r</mi><mi>k</mi></msub><msup><mi>z</mi><mi>k</mi></msup><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>z</mi><mi>k</mi></msup><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>z</mi><mi>k</mi></msup><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">1=\p{\sum_{k=0}^\infty r_kz^k}\p{\sum_{k=0}^\infty r^\mrm r_kz^k}
=\sum_{k=0}^\infty z^k\sum_{l=0}^k r_l r^\mrm r_{k-l}.</annotation></semantics></math></span> Compare the coefficients of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>z</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">z^k</annotation></semantics></math></span> on both sides, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>δ</mi><mrow><mi>k</mi><mo separator="true">,</mo><mn>0</mn></mrow></msub><mo>=</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>0</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mo>=</mo><msub><mi>r</mi><mn>0</mn></msub><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><mo>+</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\dlt_{k,0}=\sum_{l=0}^k r_l r^\mrm r_{k-l}
=r_0r^\mrm r_k+\sum_{l=1}^k r_l r^\mrm r_{k-l}.</annotation></semantics></math></span> Therefore, we get the recursion relation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>r</mi><mn>0</mn><mi mathvariant="normal">r</mi></msubsup><mo>=</mo><mfrac><mn>1</mn><msub><mi>r</mi><mn>0</mn></msub></mfrac><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>r</mi><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn></mrow><mi mathvariant="normal">r</mi></msubsup><mo>=</mo><mo>−</mo><mfrac><mn>1</mn><msub><mi>r</mi><mn>0</mn></msub></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>r</mi><mi>l</mi></msub><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">r^\mrm r_0=\fr1{r_0},\quad
r^\mrm r_{k&gt;0}=-\fr1{r_0}\sum_{l=1}^kr_lr^\mrm r_{k-l}.</annotation></semantics></math></span> I will use the notation of superscript <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">r</mi></mrow><annotation encoding="application/x-tex">\mrm r</annotation></semantics></math></span> for series reciprocation in the rest of this article.</p>
<p>There are non-recursive ways of writing those coefficients, but they are either very long or needs notations that require a bit of explanation, so I restrained from that.</p>
</details>
<p class="no-indent">
Therefore, we get the asymptotic expansion of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mo>∫</mo><mfrac><mrow><mi mathvariant="normal">d</mi><mi>z</mi></mrow><mrow><mi>p</mi><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mrow><mo fence="true">(</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mo>−</mo><mfrac><mrow><mi>m</mi><mi>π</mi></mrow><mn>2</mn></mfrac><mo>−</mo><mfrac><mi>π</mi><mn>4</mn></mfrac><mo>+</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msub><mi>s</mi><mi>k</mi></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>s</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mrow><msup><mi>m</mi><mn>2</mn></msup><msubsup><mi>r</mi><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow><mi mathvariant="normal">r</mi></msubsup><mo>−</mo><msubsup><mi>r</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup></mrow><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></mfrac></mrow><annotation encoding="application/x-tex">\fc\alp z=\int\fr{\d z}{\fc pz^2\p{\fc{J_m&#x27;}z^2+\fc{Y_m&#x27;}z^2}}
=-\fr{m\pi}2-\fr\pi4+\sum_{k=0}^\infty\fr{s_k}{z^{2k-1}},\quad
s_k\ceq\fr{m^2r^\mrm r_{k-1}-r^\mrm r_k}{2k-1}</annotation></semantics></math></span> (with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>r</mi><mrow><mo>−</mo><mn>1</mn></mrow><mi mathvariant="normal">r</mi></msubsup></mrow><annotation encoding="application/x-tex">r^\mrm r_{-1}</annotation></semantics></math></span> understood as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>; I will be assuming the reference to any expansion coefficients outside their designated range to be interpreted as zero in all occurrences in the rest of this article). The additive constant in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span> is properly chosen so that Equation <a href="#eq:bessel-as-kummer-solutions">7</a> is satisfied without being off by a phase (but it is actually unimportant anyway because it gets canceled in the expression of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span>). One can check that this agrees with Equation <a href="#eq:alpha-prime-few-terms">8</a>.
</p>
<p>We can now find an expansion for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msub><mi>d</mi><mi>k</mi></msub><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>d</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mfrac><mn>1</mn><msup><mi>r</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mfrac><msub><mi>s</mi><mi>k</mi></msub><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\tht z=\fc\alp z-\fc\alp{rz}=\p{1-r}\sum_{k=0}^\infty\fr{d_k}{z^{2k-1}},\quad
d_k\ceq\p{1-\fr1{r^{2k-1}}}\fr{s_k}{1-r}.</annotation></semantics></math></span> Then it is the final step to find an expansion for the inverse function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc z\tht</annotation></semantics></math></span>. Take the reciprocal of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msubsup><mi>d</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>z</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>d</mi><mn>0</mn><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>d</mi><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn></mrow><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msub><mi>d</mi><mi>l</mi></msub><msubsup><mi>d</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow><mi mathvariant="normal">r</mi></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr1{\fc\tht z}=\fr1{1-r}\sum_{k=0}^\infty\fr{d^\mrm r_k}{z^{2k+1}},\quad
d^\mrm r_0\ceq1,\quad d^\mrm r_{k&gt;0}\ceq-\sum_{l=1}^kd_l d^\mrm r_{k-l}.</annotation></semantics></math></span> Then, <a href="https://en.wikipedia.org/wiki/Lagrange_inversion_theorem" target="_blank" rel="external">invert the series</a>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mn>1</mn><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msubsup><mi>b</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><msup><mi>θ</mi><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>b</mi><mi>k</mi><mi mathvariant="normal">r</mi></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mfrac><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mrow><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mrow><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow></mfrac><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mrow><mn>2</mn><mi>k</mi></mrow></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>l</mi></msup><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><mover accent="true"><mi>l</mi><mo stretchy="true">‾</mo></mover></msup><msub><mi>B</mi><mrow><mn>2</mn><mi>k</mi><mo separator="true">,</mo><mi>l</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mo stretchy="false">!</mo><msubsup><mi>d</mi><mn>1</mn><mi mathvariant="normal">r</mi></msubsup><mo separator="true">,</mo><mn>0</mn><mo separator="true">,</mo><mn>4</mn><mo stretchy="false">!</mo><msubsup><mi>d</mi><mn>2</mn><mi mathvariant="normal">r</mi></msubsup><mo separator="true">,</mo><mn>0</mn><mo separator="true">,</mo><mo>…</mo><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mn>1</mn><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>k</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fr1{\fc z\tht}=\sum_{k=0}^\infty\fr{b^\mrm r_k}{\tht^{2k+1}},\quad
b^\mrm r_k\ceq\fr{\p{1-r}^{2k+1}}{\p{2k+1}!}\begin{dcases}
\sum_{l=1}^{2k}\p{-1}^l\p{2k+1}^{\overline l}
\fc{B_{2k,l}}{0,2!d^\mrm r_1,0,4!d^\mrm r_2,0,\ldots},&amp;k&gt;0,\\
1,&amp;k=0,
\end{dcases}</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>B</mi><mrow><mn>2</mn><mi>k</mi><mo separator="true">,</mo><mi>l</mi></mrow></msub></mrow><annotation encoding="application/x-tex">B_{2k,l}</annotation></semantics></math></span> is the <a href="https://en.wikipedia.org/wiki/Bell_polynomials" target="_blank" rel="external">Bell polynomial</a>. Finally, take the reciprocal: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msub><mi>b</mi><mi>k</mi></msub><msup><mi>θ</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>b</mi><mn>0</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>b</mi><mrow><mi>k</mi><mo>&gt;</mo><mn>0</mn></mrow></msub><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>l</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><msubsup><mi>b</mi><mi>l</mi><mi mathvariant="normal">r</mi></msubsup><msub><mi>b</mi><mrow><mi>k</mi><mo>−</mo><mi>l</mi></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc z\tht=\sum_{k=0}^\infty\fr{b_k}{\tht^{2k-1}},\quad
b_0\ceq\fr1{1-r},\quad
b_{k&gt;0}\ceq-\fr1{1-r}\sum_{l=1}^kb^\mrm r_lb_{k-l}.</annotation></semantics></math></span> The first few terms are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mi>θ</mi><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mrow><mo fence="true">(</mo><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><mrow><mn>8</mn><mi>r</mi><mi>θ</mi></mrow></mfrac><mo>+</mo><mo>⋯</mo></mrow><annotation encoding="application/x-tex">\fc z\tht=\fr\tht{1-r}+\fr{\p{4m^2+3}\p{1-r}}{8r\tht}+\cdots</annotation></semantics></math></span> (I only write two terms here because the next term starts to be very long; it will turn out that only the first two terms are useful anyway).</p>
<details>
<summary>
Wolfram codes for computing the coefficients
</summary>
<pre><code><span class="nv">a</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="o">^</span><span class="nv">k</span><span class="w"> </span><span class="nb">Pochhammer</span><span class="p">[</span><span class="m">1</span><span class="o">/</span><span class="m">2</span><span class="o">-</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="nb">Pochhammer</span><span class="p">[</span><span class="m">1</span><span class="o">/</span><span class="m">2</span><span class="o">+</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="o">/</span><span class="p">(</span><span class="m">2</span><span class="o">^</span><span class="nv">k</span><span class="w"> </span><span class="nv">k</span><span class="o">!</span><span class="p">)</span><span class="w">
</span><span class="nv">c</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="nv">a</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="o">+</span><span class="p">(</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="o">/</span><span class="m">2</span><span class="p">)</span><span class="nv">a</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="p">]</span><span class="w">
</span><span class="nv">r</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="p">(</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="o">^</span><span class="nv">k</span><span class="w"> </span><span class="nb">Sum</span><span class="p">[(</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="o">^</span><span class="nv">l</span><span class="w"> </span><span class="nv">c</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">l</span><span class="p">]</span><span class="nv">c</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="m">2</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">0</span><span class="o">,</span><span class="m">2</span><span class="nv">k</span><span class="p">}]</span><span class="w">
</span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="o">=</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">&lt;</span><span class="m">0</span><span class="o">,</span><span class="m">0</span><span class="o">,</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">==</span><span class="m">0</span><span class="o">,</span><span class="m">1</span><span class="o">,-</span><span class="nb">Sum</span><span class="p">[</span><span class="nv">r</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">l</span><span class="p">]</span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="nv">k</span><span class="p">}]]]</span><span class="w">
</span><span class="nv">s</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="p">(</span><span class="nv">m</span><span class="o">^</span><span class="m">2</span><span class="w"> </span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="p">]</span><span class="o">-</span><span class="nv">rr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">])</span><span class="o">/</span><span class="p">(</span><span class="m">2</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="w">
</span><span class="nv">d</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_,</span><span class="nv">R</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="m">1</span><span class="o">/</span><span class="nv">R</span><span class="o">^</span><span class="p">(</span><span class="m">2</span><span class="nv">k</span><span class="o">-</span><span class="m">1</span><span class="p">))</span><span class="nv">s</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="p">]</span><span class="o">/</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="nv">R</span><span class="p">)</span><span class="w">
</span><span class="nv">dr</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_,</span><span class="nv">R</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="nv">dr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="o">=</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">==</span><span class="m">0</span><span class="o">,</span><span class="m">1</span><span class="o">,-</span><span class="nb">Sum</span><span class="p">[</span><span class="nv">d</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">l</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="nv">dr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="nv">k</span><span class="p">}]]</span><span class="w">
</span><span class="nv">br</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_,</span><span class="nv">R</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="nv">R</span><span class="p">)</span><span class="o">^</span><span class="p">(</span><span class="m">2</span><span class="nv">k</span><span class="o">+</span><span class="m">1</span><span class="p">)</span><span class="o">/</span><span class="p">(</span><span class="m">2</span><span class="nv">k</span><span class="o">+</span><span class="m">1</span><span class="p">)</span><span class="o">!</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">==</span><span class="m">0</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="nb">Sum</span><span class="p">[(</span><span class="o">-</span><span class="m">1</span><span class="p">)</span><span class="o">^</span><span class="nv">l</span><span class="w"> </span><span class="nb">Pochhammer</span><span class="p">[</span><span class="m">2</span><span class="nv">k</span><span class="o">+</span><span class="m">1</span><span class="o">,</span><span class="nv">l</span><span class="p">]</span><span class="nb">BellY</span><span class="p">[</span><span class="m">2</span><span class="nv">k</span><span class="o">,</span><span class="nv">l</span><span class="o">,</span><span class="nb">Table</span><span class="p">[</span><span class="nb">If</span><span class="p">[</span><span class="nb">EvenQ</span><span class="p">[</span><span class="nv">j</span><span class="p">]</span><span class="o">,</span><span class="nv">dr</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">j</span><span class="o">/</span><span class="m">2</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="nv">j</span><span class="o">!,</span><span class="m">0</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">j</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="m">2</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="o">+</span><span class="m">1</span><span class="p">}]]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="m">2</span><span class="nv">k</span><span class="p">}]]</span><span class="w">
</span><span class="nv">b</span><span class="p">[</span><span class="nv">m</span><span class="o">_,</span><span class="nv">k</span><span class="o">_,</span><span class="nv">R</span><span class="o">_</span><span class="p">]</span><span class="o">:=</span><span class="nv">b</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="o">=</span><span class="nb">If</span><span class="p">[</span><span class="nv">k</span><span class="o">==</span><span class="m">0</span><span class="o">,</span><span class="m">1</span><span class="o">/</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="nv">R</span><span class="p">)</span><span class="o">,-</span><span class="m">1</span><span class="o">/</span><span class="p">(</span><span class="m">1</span><span class="o">-</span><span class="nv">R</span><span class="p">)</span><span class="nb">Sum</span><span class="p">[</span><span class="nv">br</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">l</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="nv">b</span><span class="p">[</span><span class="nv">m</span><span class="o">,</span><span class="nv">k</span><span class="o">-</span><span class="nv">l</span><span class="o">,</span><span class="nv">R</span><span class="p">]</span><span class="o">,</span><span class="p">{</span><span class="nv">l</span><span class="o">,</span><span class="m">1</span><span class="o">,</span><span class="nv">k</span><span class="p">}]]</span><span class="w">
</span></code></pre>
<p class="no-indent">
(The capitalized <code>R</code> is the parameter <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span> in this article; I have so poor choices of variable names…)
</p>
</details>
<p>The result is shown in the plot below.</p>
<figure>
<img src="/assets/images/figures/2025-04-11-laplacian-annulus/theta-expansion.svg" class="dark-adaptive" alt="Plot of  vs.  with different numbers of terms for , " />
<figcaption aria-hidden="true">Plot of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span> vs. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> with different numbers of terms for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">m=4</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>3</mn></mrow><annotation encoding="application/x-tex">r=1/3</annotation></semantics></math></span></figcaption>
</figure>
<p class="no-indent">
The black line is the exact function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">m=4</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>3</mn></mrow><annotation encoding="application/x-tex">r=1/3</annotation></semantics></math></span>, and the blue, green, orange, and red lines are the truncated asymptotic series of the inverse function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc z\tht</annotation></semantics></math></span> with 1, 2, 3, and 4 terms, respectively. The horizontal grid lines are the integer multiples of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>π</mi></mrow><annotation encoding="application/x-tex">\pi</annotation></semantics></math></span>, whose intersections with the black line gives the wanted roots <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">z_{mn}</annotation></semantics></math></span>. To be honest, the result is a bit anticlimactic because it turns out that truncating the series to only the first two terms gives the best approximation. This is within expectation, though, because the asymptotic series is never guaranteed to give better approximations with more terms.
</p>
<h3 data-label="0.2.3" id="the-n0-mode">The <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span> mode</h3>
<p>For all the previous plots, I have only shown <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>4</mn></mrow><annotation encoding="application/x-tex">m=4</annotation></semantics></math></span>. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span> being other positive integers, they all look similar, but there is a special feature for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span>. To see this, first study the limiting form of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fz</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc gz</annotation></semantics></math></span> for small <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>. The limiting forms of the Bessel functions are (<a href="https://dlmf.nist.gov/10.7#i" target="_blank" rel="external">source</a>) <span id="eq:bessel-limiting" data-label="(9)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left right left" columnspacing="0em 1em 0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>J</mi><mn>0</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>−</mo><mfrac><mi>z</mi><mn>2</mn></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>J</mi><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><msup><mn>2</mn><mi>m</mi></msup><mrow><mo fence="true">(</mo><mi>m</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow></mfrac><msup><mi>z</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>Y</mi><mn>0</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>2</mn><mrow><mi>π</mi><mi>z</mi></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>Y</mi><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mrow><msup><mn>2</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo></mrow><mi>π</mi></mfrac><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{J_0&#x27;}{z\to0}&amp;=-\fr z2,&amp;
\fc{J_{m&gt;0}&#x27;}{z\to0}&amp;=\fr{1}{2^m\p{m-1}!}z^{m-1},\\
\fc{Y_0&#x27;}{z\to0}&amp;=\fr2{\pi z},&amp;
\fc{Y_{m&gt;0}&#x27;}{z\to0}&amp;=\fr{2^mm!}{\pi}\fr1{z^{m+1}}.
\end{align*}</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>9</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(9)</annotation></semantics></math></span></span> </span></span> We can then get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mn>4</mn><mrow><msup><mi>π</mi><mn>2</mn></msup><mi>r</mi><msup><mi>z</mi><mn>2</mn></msup></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mn>1</mn><msup><mi>r</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><msup><mrow><mo fence="true">(</mo><mfrac><mrow><msup><mn>2</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo></mrow><mi>π</mi></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mfrac><mn>1</mn><msup><mi>z</mi><mrow><mn>2</mn><mi>m</mi><mo>+</mo><mn>2</mn></mrow></msup></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mn>1</mn><mo>−</mo><msup><mi>r</mi><mn>2</mn></msup></mrow><mrow><mi>π</mi><mi>r</mi></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mi>m</mi><mi>π</mi></mfrac><mrow><mo fence="true">(</mo><msup><mi>r</mi><mrow><mi>m</mi><mo>−</mo><mn>1</mn></mrow></msup><mo>−</mo><mfrac><mn>1</mn><msup><mi>r</mi><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mfrac><mn>1</mn><msup><mi>z</mi><mn>2</mn></msup></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable></mrow></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc f{z\to0}&amp;=\begin{dcases}
\fr4{\pi^2rz^2},&amp;m=0,\\
\fr1{r^{m+1}}\p{\fr{2^mm!}\pi}^2\fr1{z^{2m+2}},&amp;m&gt;0,
\end{dcases}\\
\fc g{z\to0}&amp;=\begin{dcases}
\fr{1-r^2}{\pi r},&amp;m=0,\\
\fr m\pi\p{r^{m-1}-\fr1{r^{m+1}}}\fr1{z^2},&amp;m&gt;0.
\end{dcases}
\end{align*}</annotation></semantics></math></span> From this, we can get the limiting form of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mi>π</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msup><mi>r</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><mn>4</mn></mfrac><msup><mi>z</mi><mn>2</mn></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><mfrac><mrow><mi>π</mi><mi>m</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msup><mi>r</mi><mrow><mn>2</mn><mi>m</mi></mrow></msup><mo fence="true">)</mo></mrow></mrow><msup><mrow><mo fence="true">(</mo><mi>m</mi><mo stretchy="false">!</mo><msup><mn>2</mn><mi>m</mi></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><msup><mi>z</mi><mrow><mn>2</mn><mi>m</mi></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fc\tht{z\to0}=\begin{dcases}
\fr{\pi\p{1-r^2}}4z^2,&amp;m=0,\\
-\fr{\pi m\p{1-r^{2m}}}{\p{m!2^m}^2}z^{2m},&amp;m&gt;0.
\end{dcases}</annotation></semantics></math></span> The particularly interesting thing to note is the negative sign for the case of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span>. Remember that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">\fc\tht{z\to\infty}=\p{1-r}z</annotation></semantics></math></span>, which is a positive thing, we would conclude that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> would become zero for some positive <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span>, while that may not be the case for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span>. Indeed, there is no positive <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\tht z=0</annotation></semantics></math></span> if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span>, as we can see from the plot below.</p>
<figure>
<img src="/assets/images/figures/2025-04-11-laplacian-annulus/n-zero-mode-existence.svg" class="dark-adaptive" alt="Plot of  for  and ." />
<figcaption aria-hidden="true">Plot of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">m=1</annotation></semantics></math></span>.</figcaption>
</figure>
<p class="no-indent">
The red line is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">m=1</annotation></semantics></math></span>, which we can see that crosses the horizontal axis, while the blue line is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span>, which does not cross the horizontal axis. The more lightly colored lines are the limiting forms of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> for small <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>.
</p>
<p>The implication is that the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span> mode would not exist for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span> but exist for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span>. However, traditionally, when people talk about eigenmodes of the Laplacian, the quantum number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> refers to the 1-based numbering of the roots of the Bessel functions (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>g</mi></mrow><annotation encoding="application/x-tex">g</annotation></semantics></math></span> in our case). This would mean that what is referred to as the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>m</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo><mi>n</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{m&gt;0,n}</annotation></semantics></math></span> mode in this article would be traditionally called the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>m</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{m&gt;0,n+1}</annotation></semantics></math></span> mode, while the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo><mi>n</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{m=0,n}</annotation></semantics></math></span> mode in this article is the same as what is traditionally called. In other words, the traditional names of the modes for different values of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo separator="true">,</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">m,n</annotation></semantics></math></span> are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.16em" columnalign="right center center center center" columnlines="solid none none none" columnspacing="1em" rowlines="solid none none none"><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>1</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>2</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">⋯</mo></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>0</mn><mo separator="true">,</mo><mn>2</mn><mo fence="true">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>1</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>1</mn><mo separator="true">,</mo><mn>3</mn><mo fence="true">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mn>2</mn></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>2</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>2</mn><mo separator="true">,</mo><mn>2</mn><mo fence="true">)</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mo fence="true">(</mo><mn>2</mn><mo separator="true">,</mo><mn>3</mn><mo fence="true">)</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow><mi mathvariant="normal">⋮</mi><mpadded height="0em" voffset="0em"><mspace mathbackground="black" width="0em" height="1.5em"></mspace></mpadded></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="false"><mo lspace="0em" rspace="0em">⋱</mo></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{array}{r|cccc}
&amp;n=0&amp;1&amp;2&amp;\cdots\\
\hline
m=0&amp;&amp;\p{0,1}&amp;\p{0,2}\\
1&amp;\p{1,1}&amp;\p{1,2}&amp;\p{1,3}\\
2&amp;\p{2,1}&amp;\p{2,2}&amp;\p{2,3}\\
\vdots&amp;&amp;&amp;&amp;\ddots
\end{array}</annotation></semantics></math></span></p>
<p>Another way to see this is that, according to Equation <a href="#eq:bessel-as-kummer-solutions">7</a>, in order for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{J_m&#x27;}z</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{Y_m&#x27;}z</annotation></semantics></math></span> to be real-valued, whenever <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{\alp&#x27;}z&lt;0</annotation></semantics></math></span>, we would need <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc pz</annotation></semantics></math></span> to be purely imaginary, and vice versa. From Equation <a href="#eq:p-and-q">6</a>, we can see that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc pz</annotation></semantics></math></span> is real when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>≥</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z\ge m</annotation></semantics></math></span>, and it is purely imaginary when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>&lt;</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z&lt;m</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>α</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\alp&#x27;}z</annotation></semantics></math></span> goes from negative to positive when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> crosses <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span>. This means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span> is monotonically decreasing when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>&lt;</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z&lt;m</annotation></semantics></math></span> but monotonically increasing when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>&gt;</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z&gt;m</annotation></semantics></math></span>, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>=</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z=m</annotation></semantics></math></span> is the minimum. This means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>r</mi><mi>z</mi><mo>&lt;</mo><mi>z</mi><mo>&lt;</mo><mi>m</mi><mtext>  </mtext><mo>⟹</mo><mtext>  </mtext><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">rz&lt;z&lt;m\implies\fc\alp{rz}&gt;\fc\alp z,</annotation></semantics></math></span> which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>&lt;</mo><mi>m</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\tht{z&lt;m}&lt;0</annotation></semantics></math></span>. This means that when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span>, the root <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">z_{m0}</annotation></semantics></math></span> must exist, and we also get a lower bound <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>&gt;</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z_{m0}&gt;m</annotation></semantics></math></span>. However, when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\alp z</annotation></semantics></math></span> would be monotonically increasing for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>, and thus <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z</annotation></semantics></math></span> would be positive for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span>, which means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">z_{00}</annotation></semantics></math></span> does not exist. By a similar method, we can also derive an upper bound for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">z_{m0}</annotation></semantics></math></span>. We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>m</mi><mo>&lt;</mo><mi>r</mi><mi>z</mi><mo>&lt;</mo><mi>z</mi><mtext>  </mtext><mo>⟹</mo><mtext>  </mtext><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>&lt;</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">m&lt;rz&lt;z\implies\fc\alp{rz}&lt;\fc\alp z,</annotation></semantics></math></span> which means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>&gt;</mo><mi>m</mi><mi mathvariant="normal">/</mi><mi>r</mi><mo fence="true">)</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\tht{z&gt;m/r}&gt;0</annotation></semantics></math></span>. This means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>&lt;</mo><mi>m</mi><mi mathvariant="normal">/</mi><mi>r</mi></mrow><annotation encoding="application/x-tex">z_{m0}&lt;m/r</annotation></semantics></math></span>. This also implies the nonexistence of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mn>00</mn></msub></mrow><annotation encoding="application/x-tex">z_{00}</annotation></semantics></math></span>.</p>
<p>Maybe we can still formally define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mn>00</mn></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">z_{00}=0</annotation></semantics></math></span>, and the eigenfunction would be the trivial <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Φ</mi><mn>00</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow></mrow><annotation encoding="application/x-tex">\fc{\Phi_{00}}{\rho,\vphi}=\mrm{const}</annotation></semantics></math></span> with a zero eigenvalue.</p>
<h3 data-label="0.2.4" id="numerical-root-finding">Numerical root-finding</h3>
<p>A key thing to note about the asymptotic series truncated to the first two terms is that it is impossible to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> values smaller than a certain bound: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>z</mi><mrow><mi mathvariant="normal">t</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">c</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>θ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mi>θ</mi><mrow><mn>1</mn><mo>−</mo><mi>r</mi></mrow></mfrac><mo>+</mo><mfrac><mrow><mrow><mo fence="true">(</mo><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow></mrow><mrow><mn>8</mn><mi>r</mi><mi>θ</mi></mrow></mfrac><mo>≥</mo><msup><mi>z</mi><mo>∗</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><msqrt><mfrac><mrow><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn></mrow><mrow><mn>2</mn><mi>r</mi></mrow></mfrac></msqrt><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{z_\mrm{trunc}}\tht=\fr{\tht}{1-r}+\fr{\p{4m^2+3}\p{1-r}}{8r\tht}
\ge z^*\ceq\sqrt{\fr{4m^2+3}{2r}},</annotation></semantics></math></span> where the equality holds when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mo>=</mo><msup><mi>θ</mi><mo>∗</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><msqrt><mrow><mrow><mo fence="true">(</mo><mn>4</mn><msup><mi>m</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mn>8</mn><mi>r</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\tht=\tht^*\ceq\p{1-r}\sqrt{\p{4m^2+3}/8r}</annotation></semantics></math></span>. This means that if we use <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow></msub><mo>≈</mo><msub><mi>z</mi><mrow><mi mathvariant="normal">t</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">c</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mi>π</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">z_{mn}\approx\fc{z_\mrm{trunc}}{n\pi}</annotation></semantics></math></span> to approximate the roots, we will miss all the roots with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi><mo>&lt;</mo><msup><mi>z</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">z&lt;z^*</annotation></semantics></math></span>. The number of missed roots is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mo>∗</mo></msup><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⌈</mo><msup><mi>θ</mi><mo>∗</mo></msup><mi mathvariant="normal">/</mi><mi>π</mi><mo fence="true">⌉</mo></mrow></mrow><annotation encoding="application/x-tex">n^*\ceq\ceil{\tht^*/\pi}</annotation></semantics></math></span> (this includes the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span> mode, so for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span>, the number of missed roots is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mo>∗</mo></msup><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n^*-1</annotation></semantics></math></span>). According to the bound on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">z_{m0}</annotation></semantics></math></span> we derived in the previous section, all the missing roots are in the interval <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><msup><mi>z</mi><mo>∗</mo></msup><mo separator="true">,</mo><mi>m</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{z^*,m}</annotation></semantics></math></span>. In order to numerically find those roots, we can equispacedly sample more than <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>n</mi><mo>∗</mo></msup></mrow><annotation encoding="application/x-tex">n^*</annotation></semantics></math></span> points (maybe <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>3</mn><mrow><mo fence="true">(</mo><msup><mi>n</mi><mo>∗</mo></msup><mo>+</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">3\p{n^*+1}</annotation></semantics></math></span> points to be safe) in the interval as initial guesses and use usual root-finding methods such as Newton’s method to find the roots.</p>
<h2 data-label="0.3" id="limiting-cases">Limiting cases</h2>
<h3 data-label="0.3.1" id="the-disk-limit">The disk limit</h3>
<p>When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r\to0</annotation></semantics></math></span>, the annulus becomes a disk. We will see how the eigenmodes tend to the eigenmodes on a disk, which are given by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi mathvariant="normal">Φ</mi><mrow><mi>m</mi><mi>n</mi></mrow><mrow><mi mathvariant="normal">d</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">k</mi></mrow></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msubsup><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow><mrow><mi mathvariant="normal">d</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">k</mi></mrow></msubsup><mi>ρ</mi><mi mathvariant="normal">/</mi><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>m</mi><mi>φ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\Phi_{mn}^{\mrm{disk}}}{\rho,\vphi}
=\fc{J_m}{z_{mn}^\mrm{disk}\rho/R_\mrm{out}}\e^{\i m\vphi},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>z</mi><mrow><mi>m</mi><mi>n</mi></mrow><mrow><mi mathvariant="normal">d</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">z_{mn}^\mrm{disk}</annotation></semantics></math></span> are the roots of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">J_m&#x27;</annotation></semantics></math></span>.</p>
<p>In this case, we can regard <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mi>z</mi></mrow><annotation encoding="application/x-tex">rz</annotation></semantics></math></span> as small, so using Equation <a href="#eq:bessel-limiting">9</a> gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mn>2</mn><mrow><mi>π</mi><mi>r</mi><mi>z</mi></mrow></mfrac><msubsup><mi>Y</mi><mn>0</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><msup><mn>2</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo></mrow><mrow><mi>π</mi><msup><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow></mfrac><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable></mrow><mspace width="1em"/><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><mfrac><mn>2</mn><mrow><mi>π</mi><mi>r</mi><mi>z</mi></mrow></mfrac><msubsup><mi>J</mi><mn>0</mn><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo>−</mo><mfrac><mrow><msup><mn>2</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo></mrow><mrow><mi>π</mi><msup><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mrow><mi>m</mi><mo>+</mo><mn>1</mn></mrow></msup></mrow></mfrac><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fc fz=\begin{dcases}
\fr2{\pi rz}\fc{Y_0&#x27;}z,&amp;m=0,\\
\fr{2^mm!}{\pi\p{rz}^{m+1}}\fc{Y_m&#x27;}z,&amp;m&gt;0,
\end{dcases}\quad
\fc gz=\begin{dcases}
-\fr2{\pi rz}\fc{J_0&#x27;}z,&amp;m=0,\\
-\fr{2^mm!}{\pi\p{rz}^{m+1}}\fc{J_m&#x27;}z,&amp;m&gt;0.
\end{dcases}</annotation></semantics></math></span> This means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>tan</mi><mo>⁡</mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mfrac><mrow><mo>−</mo><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><mrow><msubsup><mi>Y</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mi>tan</mi><mo>⁡</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\tan\fc\tht z=\fr{\fc gz}{\fc fz}=\fr{-\fc{J_m&#x27;}z}{\fc{Y_m&#x27;}z}=\tan\fc\alp z,</annotation></semantics></math></span> or just <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z=\fc\alp z</annotation></semantics></math></span>. We can also see this by noting that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\alp{rz}=0</annotation></semantics></math></span> when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">r=0</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\tht z=\fc\alp z-\fc\alp{rz}=\fc\alp z</annotation></semantics></math></span>. Therefore, the solutions to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>n</mi><mi>π</mi></mrow><annotation encoding="application/x-tex">\fc\tht z=n\pi</annotation></semantics></math></span> would just be the solutions to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>n</mi><mi>π</mi></mrow><annotation encoding="application/x-tex">\fc\alp z=n\pi</annotation></semantics></math></span>, which are just roots of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>J</mi><mi>m</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">J_m&#x27;</annotation></semantics></math></span>. This hence recovers the eigenmodes on a disk.</p>
<h3 data-label="0.3.2" id="the-circle-limit">The circle limit</h3>
<p>When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r\to1</annotation></semantics></math></span>, the annulus becomes a circle. In this case, we can suppress the radial dimension to make the problem one-dimensional. The eigenmodes would be <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi mathvariant="normal">Φ</mi><mi>m</mi><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">c</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">e</mi></mrow></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>m</mi><mi>φ</mi></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{\Phi_m^\mrm{circle}}{\vphi}=\e^{\i m\vphi},</annotation></semantics></math></span> and the eigenvalues are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>λ</mi><mi>m</mi><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">c</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">e</mi></mrow></msubsup><mo>=</mo><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><msup><mi>R</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\lmd^\mrm{circle}_m=-m^2/R^2</annotation></semantics></math></span> (no need to distinguish between <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub></mrow><annotation encoding="application/x-tex">R_\mrm{in}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub></mrow><annotation encoding="application/x-tex">R_\mrm{out}</annotation></semantics></math></span> here).</p>
<p>This case is interesting in that the radial dimension would become “invisible” from the physics of the system. Note that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>r</mi><mo fence="true">)</mo></mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">\fc\tht{z\to\infty}=\p{1-r}z</annotation></semantics></math></span> would be a very flat line, which means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>z</mi></mrow><annotation encoding="application/x-tex">z</annotation></semantics></math></span> would need to increase by a very large amount in order to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span> to increase by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>π</mi></mrow><annotation encoding="application/x-tex">\pi</annotation></semantics></math></span>. Therefore, the radial quantum number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> would be very hard to increase. Formally, the eigenvalues of the modes with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n&gt;0</annotation></semantics></math></span> will become infinite, so we then practically only need to consider <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span> for the “low-energy description” of the system.</p>
<p>We have previously derived the lower bound and upper bound for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">z_{m0}</annotation></semantics></math></span>, which gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>∈</mo><mrow><mo fence="true">(</mo><mi>m</mi><mo separator="true">,</mo><mi>m</mi><mi mathvariant="normal">/</mi><mi>r</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">z_{m0}\in\p{m,m/r}</annotation></semantics></math></span>. When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r\to1</annotation></semantics></math></span>, we then get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>=</mo><mi>m</mi></mrow><annotation encoding="application/x-tex">z_{m0}=m</annotation></semantics></math></span> by the squeeze theorem. The eigenvalue of the Laplacian is then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>λ</mi><mrow><mi>m</mi><mn>0</mn></mrow></msub><mo>=</mo><mo>−</mo><msubsup><mi>z</mi><mrow><mi>m</mi><mn>0</mn></mrow><mn>2</mn></msubsup><mi mathvariant="normal">/</mi><msup><mi>R</mi><mn>2</mn></msup><mo>=</mo><mo>−</mo><msup><mi>m</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><msup><mi>R</mi><mn>2</mn></msup><mo>=</mo><msubsup><mi>λ</mi><mi>m</mi><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">i</mi><mi mathvariant="normal">r</mi><mi mathvariant="normal">c</mi><mi mathvariant="normal">l</mi><mi mathvariant="normal">e</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\lmd_{m0}=-z_{m0}^2/R^2=-m^2/R^2=\lmd^\mrm{circle}_m</annotation></semantics></math></span>.</p>
<p>For the case of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span>, there are two ways to look at it. If we do not regard the trivial mode <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Φ</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow></mrow><annotation encoding="application/x-tex">\fc{\Phi_0}{\vphi}=\mrm{const}</annotation></semantics></math></span> as a mode, then we can say that the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span> mode does not exist on a circle, which fits nicely with the fact that the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span> mode does not exist for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span> in the annulus. With the other way, if we regard the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span> mode on the annulus as the trivial mode <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Φ</mi><mn>00</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow></mrow><annotation encoding="application/x-tex">\fc{\Phi_{00}}{\rho,\vphi}=\mrm{const}</annotation></semantics></math></span>, then it also nicely tends to the trivial mode <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m=0</annotation></semantics></math></span> on the circle in the limit <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r\to1</annotation></semantics></math></span>.</p>
<h3 data-label="0.3.3" id="the-homogeneous-dirichlet-boundary-condition">The homogeneous Dirichlet boundary condition</h3>
<p>So far I only talked about the homogeneous Neumann boundary condition. In the case of homogeneous Dirichlet boundary condition <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo>=</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">i</mi><mi mathvariant="normal">n</mi></mrow></msub><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi mathvariant="normal">Φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ρ</mi><mo>=</mo><msub><mi>R</mi><mrow><mi mathvariant="normal">o</mi><mi mathvariant="normal">u</mi><mi mathvariant="normal">t</mi></mrow></msub><mo separator="true">,</mo><mi>φ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc\Phi{\rho=R_\mrm{in},\vphi}=\fc\Phi{\rho=R_\mrm{out},\vphi}=0,</annotation></semantics></math></span> most of the derivation is the same, but with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>+</mo><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><mi>g</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>−</mo><msub><mi>Y</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>r</mi><mi>z</mi><mo fence="true">)</mo></mrow><msub><mi>J</mi><mi>m</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc fz\ceq\fc{J_m}{rz}\fc{Y_m}z+\fc{Y_m}{rz}\fc{J_m}z,\quad
\fc gz\ceq\fc{J_m}{rz}\fc{Y_m}z-\fc{Y_m}{rz}\fc{J_m}z.</annotation></semantics></math></span></p>
<p>There is a qualitative difference from the Neumann case, though, which comes from the limiting behavior of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc \tht{z\to0}</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo>→</mo><mn>0</mn><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">{</mo><mtable rowspacing="0.36em" columnalign="left left" columnspacing="1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mi>π</mi><mi>ln</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>1</mn><mi mathvariant="normal">/</mi><mi>r</mi><mo fence="true">)</mo></mrow></mrow><mrow><mn>2</mn><mi>ln</mi><mo>⁡</mo><mi>r</mi><mi>z</mi><mi>ln</mi><mo>⁡</mo><mi>z</mi></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mfrac><mrow><mi>π</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msup><mi>r</mi><mrow><mn>2</mn><mi>m</mi></mrow></msup><mo fence="true">)</mo></mrow></mrow><mrow><msup><mn>4</mn><mi>m</mi></msup><mi>m</mi><mo stretchy="false">!</mo><mrow><mo fence="true">(</mo><mi>m</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo stretchy="false">!</mo></mrow></mfrac><msup><mi>z</mi><mrow><mn>2</mn><mi>m</mi></mrow></msup><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>m</mi><mo>&gt;</mo><mn>0.</mn></mrow></mstyle></mtd></mtr></mtable></mrow></mrow><annotation encoding="application/x-tex">\fc\tht{z\to0}=\begin{dcases}
\fr{\pi\fc\ln{1/r}}{2\ln rz\ln z},&amp;m=0,\\
\fr{\pi\p{1-r^{2m}}}{4^mm!\p{m-1}!}z^{2m},&amp;m&gt;0.
\end{dcases}</annotation></semantics></math></span> We can see that they are positive in both cases, which means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc\tht z=0</annotation></semantics></math></span> does not have a positive solution in both cases. Therefore, the radial modes start at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n=1</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi></mrow><annotation encoding="application/x-tex">m</annotation></semantics></math></span> (in contrast to the Neumann case where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span> mode exists for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>m</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">m&gt;0</annotation></semantics></math></span>). The traditional naming of the eigenmodes then agrees with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>m</mi><mo separator="true">,</mo><mi>n</mi><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{m,n}</annotation></semantics></math></span>.</p>
<p>An implication of the difference is that there is no longer a non-trivial circle limit. This is because the eigenvalue of any mode with positive <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> would tend to infinity as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">r\to1</annotation></semantics></math></span>.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="math" /><category term="mathematical physics" /><category term="pde" /><category term="ode" /><category term="long paper" /><summary type="html"><![CDATA[Several features of the eigenfunctions of the Laplacian on an annulus with homogeneous Neumann boundary condition are discussed. The distribution of the eigenvalues is discussed in detail, making use of a phase angle function called <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span>. The limiting cases of a disk and a circle are discussed.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-04-11-laplacian-annulus.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-04-11-laplacian-annulus.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[The role of particle indistinguishability in statistical mechanics]]></title><link href="https://ulysseszh.github.io/physics/2025/03/03/indistinguishability.html" rel="alternate" type="text/html" title="The role of particle indistinguishability in statistical mechanics" /><published>2025-03-03T22:53:47-08:00</published><updated>2025-03-03T22:53:47-08:00</updated><id>https://ulysseszh.github.io/physics/2025/03/03/indistinguishability</id><content type="html" xml:base="https://ulysseszh.github.io/physics/2025/03/03/indistinguishability.html"><![CDATA[<h2 data-label="0.1" id="classical-vs.-quantum-statistical-mechanics">Classical vs. quantum statistical mechanics</h2>
<p>Previously, I have written two blog articles (<a href="/physics/2023/03/30/measure-ensemble.html">part 1</a> about thermal ensembles and <a href="/physics/2023/05/01/measure-ensemble-2.html">part 2</a> about non-thermal ensembles) about a formalism of statistical ensembles. I will be using it as the formalism of classical statistical mechanics in this article.</p>
<p>In that formalism, the space of microstates of a system is a measure space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span>, and the physical meaning of the measure is the number of microstates. A macrostate is described by the extensive quantities, which are a function of the microstate, so designating a macrostate restricts the microstates that can realize it to a subset of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span>.</p>
<p>A state of the system is a probability density function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span>, whose physical meaning is an ensemble of microstates. The macroscopically measured extensive quantities of the system are defined to be the ensemble average, i.e., the measured value of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mo>:</mo><mi mathvariant="script">M</mi><mo>→</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">A:\mcal M\to\bR</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∫</mo><mi mathvariant="script">M</mi></msub><mi>p</mi><mi>A</mi></mrow><annotation encoding="application/x-tex">\int_{\mcal M}pA</annotation></semantics></math></span>. Generally, any probability density function is a perfectly valid state, but the most important ones are those that are thermal equilibrium states, including the microcanonical ensembles, the thermal ensembles, and the non-thermal ensembles. The term about an ensemble being thermal or non-thermal is made up by me, but for most practical reasons, we only need to focus on thermal ensembles (because both canonical ensembles and grand canonical ensembles are thermal ensembles).</p>
<p>To avoid subtleties about measure theory and topology, in this article, we will only use counting measure and discrete spaces for the space of microstates and the space of extensive quantities.</p>
<details>
<summary>
Possible confusion of macrostate vs. state and an example
</summary>
<p>In this article, a <dfn>macrostate</dfn> is a tuple of extensive quantities (usually the energy, the volume, and the number of particles) that constrain the microstates. In classical statistical mechanics, every microstate has a definite macrostate. Technically, any function on the microstates may be defined as the macrostates of the system (as long as it meets some measure-theoretic requirements).</p>
<p>On the other hand, a <dfn>state</dfn> is an ensemble of microstates. In classical statistical mechanics, it is a probability distribution on the microstates. Any probability density function on the microstates is a state state of the system.</p>
<p>These two concepts are clearly distinct in the context of this article, but they are often confused in the literature.</p>
<p>For example, consider the system <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo separator="true">,</mo><mn>3</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\mcal M=\B{0,1,2,3}</annotation></semantics></math></span>, and it has three different macrostates <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">E=\B{0,1,2}</annotation></semantics></math></span>. Then, we can define the set of microstates that realize the macrostate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> to be <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>M</mi><mn>0</mn></msub><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">M_0=\B{0}</annotation></semantics></math></span>, and similarly we can define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>M</mi><mn>1</mn></msub><mo>=</mo><mrow><mo fence="true">{</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">M_1=\B{1,2}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>M</mi><mn>2</mn></msub><mo>=</mo><mrow><mo fence="true">{</mo><mn>3</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">M_2=\B{3}</annotation></semantics></math></span>. We then finished defining the macrostates of the system.</p>
<p>Now, let’s see what states we can define. Despite that the system has only <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>4</mn></mrow><annotation encoding="application/x-tex">4</annotation></semantics></math></span> different microstates, it has infinitely many states because any probability distribution on the microstates is a state, which may be specified by the probabilities <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>p</mi><mn>0</mn></msub><mo separator="true">,</mo><msub><mi>p</mi><mn>1</mn></msub><mo separator="true">,</mo><msub><mi>p</mi><mn>2</mn></msub><mo separator="true">,</mo><msub><mi>p</mi><mn>3</mn></msub></mrow><annotation encoding="application/x-tex">p_0,p_1,p_2,p_3</annotation></semantics></math></span> that sum to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>, each representing the probability of the corresponding microstate. For example, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>p</mi><mn>0</mn></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>p</mi><mn>1</mn></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>p</mi><mn>2</mn></msub><mo>=</mo><msub><mi>p</mi><mn>3</mn></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">p_0=\fr12,\quad p_1=\fr12,\quad p_2=p_3=0</annotation></semantics></math></span> is a perfectly valid state of the system. However, to find the thermal equilibrium state for a certain macrostate, we can use the equal <em>a priori</em> probability principle to find the microcanonical ensemble. For example, the microcanonical ensemble for the macrostate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>p</mi><mn>0</mn></msub><mo>=</mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><msub><mi>p</mi><mn>1</mn></msub><mo>=</mo><msub><mi>p</mi><mn>2</mn></msub><mo>=</mo><msub><mi>p</mi><mn>3</mn></msub><mo>=</mo><mn>0</mn><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">p_0=1,\quad p_1=p_2=p_3=0,</annotation></semantics></math></span> and the microcanonical ensemble for the macrostate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>p</mi><mn>1</mn></msub><mo>=</mo><msub><mi>p</mi><mn>2</mn></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>p</mi><mn>0</mn></msub><mo>=</mo><msub><mi>p</mi><mn>3</mn></msub><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">p_1=p_2=\fr12,\quad p_0=p_3=0.</annotation></semantics></math></span></p>
<p>Now let’s consider <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span> as a subset of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\bR</annotation></semantics></math></span> so that we can do arithmetics on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span> (of course it is called extensive quantities for a reason). We can then define a thermal ensemble given the intensive variables, say, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>p</mi><mn>0</mn></msub><mo>=</mo><mfrac><mn>1</mn><mi>Z</mi></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>p</mi><mn>1</mn></msub><mo>=</mo><msub><mi>p</mi><mn>2</mn></msub><mo>=</mo><mfrac><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mi>Z</mi></mfrac><mo separator="true">,</mo><mspace width="1em"/><msub><mi>p</mi><mn>3</mn></msub><mo>=</mo><mfrac><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mn>2</mn></mrow></msup><mi>Z</mi></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">p_0=\fr{1}{Z},\quad p_1=p_2=\fr{\e^{-1}}{Z},\quad p_3=\fr{\e^{-2}}{Z},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi><mo>=</mo><mn>1</mn><mo>+</mo><mn>2</mn><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mo>+</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">Z=1+2\e^{-1}+\e^{-2}</annotation></semantics></math></span> is the partition function.</p>
I would like to give an example of a non-thermal ensemble, but it is only non-trivially defined if the space of extensive quantities is at least two-dimensional (i.e. if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span> lives on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="double-struck">R</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\bR^2</annotation></semantics></math></span> instead of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\bR</annotation></semantics></math></span>), so I will omit it here.
</details>
<p>However, in quantum mechanics, things get different because of the introduction of superpositions of states. For the superpositions to make sense, the space of microstates must be endowed with a vector space structure. By principles in quantum mechanics, it is the projective space of a separable Hilbert space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi></mrow><annotation encoding="application/x-tex">\mcal H</annotation></semantics></math></span>. A state of the system is then a density operator <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ρ</mi></mrow><annotation encoding="application/x-tex">\rho</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi></mrow><annotation encoding="application/x-tex">\mcal H</annotation></semantics></math></span>, which can be any positive semi-definite self-adjoint operator with trace <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>. This is quite different from a state in the classical case because we cannot simply interpret a density operator as an ensemble of microstates. Generally, we can have different ensembles that realize the same density operator. All those different ensembles are just equally physically valid (without further contexts) due to the <a href="https://en.wikipedia.org/wiki/Schr%C3%B6dinger%E2%80%93HJW_theorem" target="_blank" rel="external">Schrödinger–HJW theorem</a>.</p>
<p>Extensive quantities are self-adjoint operators on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi></mrow><annotation encoding="application/x-tex">\mcal H</annotation></semantics></math></span>. This leads to a key difference between classical and quantum statistical mechanics: in quantum statistical mechanics, a microstate generally does not have a definite macrostate, except for the case when it is an eigenstate of all the extensive quantities. However, we can still define macroscopically measured extensive quantities for any state of the system, being <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Tr</mi><mo>⁡</mo><mi>ρ</mi><mi>A</mi></mrow><annotation encoding="application/x-tex">\Tr\rho A</annotation></semantics></math></span> for any self-adjoint operator <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span>.</p>
<p>The fact that only the states in the eigenspace of all the extensive quantities have a definite macrostate imposes a challenge on defining the microcanonical ensemble (to clarify, I am referring to the density operator, which does not define a particular ensemble, but I am still using “microcanonical ensemble” to refer to that state). It may not be possible to define a microcanonical ensemble for every possible combinations of values of the extensive quantities (in their spectra). In practice, one would restrict to only consider mutually commuting operators as the extensive quantities. Then, the microcanonical ensemble density operator is the projection operator onto the common eigenspace (properly normalized to have trace <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>). The statistical mechanics is then actually equivalent to the classical statistical mechanics (namely taking the eigenbasis of the extensive quantities as the classical space of microstates)! Unfortunately, this is not the way typically used in practice because it is not always practical to find the eigenbasis.</p>
<p>To avoid mathematical subtleties, we will mostly only consider finite-dimensional Hilbert spaces.</p>
<p>Here is a summary table:</p>
<table>
<thead>
<tr>
<th></th>
<th>Classical</th>
<th>Quantum</th>
</tr>
</thead>
<tbody>
<tr>
<td>Space of microstates</td>
<td>Measure space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span></td>
<td>Projective space of a separable Hilbert space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi></mrow><annotation encoding="application/x-tex">\mcal H</annotation></semantics></math></span></td>
</tr>
<tr>
<td>State</td>
<td>Probability density function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi></mrow><annotation encoding="application/x-tex">p</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span></td>
<td>Density operator <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ρ</mi></mrow><annotation encoding="application/x-tex">\rho</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi></mrow><annotation encoding="application/x-tex">\mcal H</annotation></semantics></math></span></td>
</tr>
<tr>
<td>Extensive quantities</td>
<td>Functions on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span></td>
<td>Self-adjoint operators on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi></mrow><annotation encoding="application/x-tex">\mcal H</annotation></semantics></math></span></td>
</tr>
<tr>
<td>Measured value of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi></mrow><annotation encoding="application/x-tex">A</annotation></semantics></math></span></td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∫</mo><mi mathvariant="script">M</mi></msub><mi>p</mi><mi>A</mi></mrow><annotation encoding="application/x-tex">\int_{\mcal M}pA</annotation></semantics></math></span></td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Tr</mi><mo>⁡</mo><mi>ρ</mi><mi>A</mi></mrow><annotation encoding="application/x-tex">\Tr\rho A</annotation></semantics></math></span></td>
</tr>
</tbody>
</table>
<h2 data-label="0.2" id="many-body-systems">Many-body systems</h2>
<p>We then want to ask: if the space of microstates for one particle is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span> (or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi></mrow><annotation encoding="application/x-tex">\mcal H</annotation></semantics></math></span>), what is the space of microstates for many particles? The answer depends on whether the particles are distinguishable particles, indistinguishable fermions, or indistinguishable bosons.</p>
<p>There are two aspects in which fermions and bosons contrasts with each other. One is their symmetry properties: fermions are antisymmetric under exchange of particles, and bosons are symmetric. The other is their statistical properties: fermions obey the Pauli exclusion principle, and the bosons do not. The second property naturally leads us to work with Fock states, which can be derived from the first property after second quantization. In this article, a third kind of particles, distinguishable particles, will also be considered. They are neither symmetric nor antisymmetric under exchange of particles, but exchanging particles actually gives a new state.</p>
<p>The whole idea of these different kinds of particles is very easy to describe in quantum mechanics. If the microstates of each particle live on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi></mrow><annotation encoding="application/x-tex">\mcal H</annotation></semantics></math></span>, then the microstates of many distinguishable particles live on the <a href="https://en.wikipedia.org/wiki/Tensor_algebra" target="_blank" rel="external">tensor algebra</a> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi mathvariant="script">H</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc T{\mcal H}</annotation></semantics></math></span>; those of many bosons live on the <a href="https://en.wikipedia.org/wiki/Symmetric_algebra" target="_blank" rel="external">symmetric algebra</a> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi mathvariant="script">H</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc S{\mcal H}</annotation></semantics></math></span>; and those of many fermions live on the <a href="https://en.wikipedia.org/wiki/Exterior_algebra" target="_blank" rel="external">exterior algebra</a> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>⋀</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi mathvariant="script">H</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\bigwedge{\mcal H}</annotation></semantics></math></span>. Those spaces are called Fock spaces. They are naturally <a href="https://en.wikipedia.org/wiki/Graded_ring#Graded_algebra" target="_blank" rel="external">graded</a>, so the particle number operator can be defined by defining the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>-grade subspace of the Fock space to be the eigenspace associated with the eigenvalue <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>.</p>
<p>Taking ideas from the Fock basis in quantum mechanics, we can similarly discuss those different kinds of particles in classical statistical mechanics. If the microstates of each particle are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span>, then the microstates of many distinguishable particles are tuples <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>⋃</mo><mrow><mi>N</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi></mrow></msub><msup><mi mathvariant="script">M</mi><mi>N</mi></msup></mrow><annotation encoding="application/x-tex">\bigcup_{N\in\bN}\mcal M^N</annotation></semantics></math></span>; those of many bosons are finite <a href="https://en.wikipedia.org/wiki/Multiset#Basic_properties_and_operations" target="_blank" rel="external">multisets</a> in the universe <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span>, i.e., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">{</mo><mi>m</mi><mo>:</mo><mi mathvariant="script">M</mi><mo>→</mo><mi mathvariant="double-struck">N</mi><mtext>  </mtext><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mtext>  </mtext><mo>∑</mo><mi>m</mi><mo>&lt;</mo><mi mathvariant="normal">∞</mi><mo fence="true">}</mo></mrow><annotation encoding="application/x-tex">\set{m:\mcal M\to\bN}{\sum m&lt;\infty}</annotation></semantics></math></span>; and those of many fermions are finite subsets of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span>, i.e., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="script">P</mi><mrow><mo>&lt;</mo><msub><mi mathvariant="normal">ℵ</mi><mn>0</mn></msub></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi mathvariant="script">M</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\mcal P_{&lt;\aleph_0}}{\mcal M}</annotation></semantics></math></span>. Those concepts, namely tuple, multiset, and set, are actually common mathematical constructs used in combinatorics. They all have a natural notion of size, which we define the number of particles to be.</p>
<p>I previously stated that there is an equivalence between quantum and classical statistical mechanics. Here, necessarily for the equivalence to hold, the dimension of the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>-particle subspace in the Fock space (when it is finite) must be the same as the cardinality of the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>-particle microstates in the classical case, and this is indeed the case. Assume that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>dim</mi><mo>⁡</mo><mi mathvariant="script">H</mi><mo>=</mo><mi mathvariant="normal">card</mi><mo>⁡</mo><mi mathvariant="script">M</mi><mo>=</mo><mi>M</mi></mrow><annotation encoding="application/x-tex">\dim\mcal H=\card\mcal M=M</annotation></semantics></math></span>, then both the dimension of the subspace of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> distinguishable particles and the number of classical microstates of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> distinguishable particles are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><mi>N</mi></msup></mrow><annotation encoding="application/x-tex">M^N</annotation></semantics></math></span>. This number for bosons is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><mover accent="true"><mi>N</mi><mo stretchy="true">‾</mo></mover></msup><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">M^{\overline N}/N!</annotation></semantics></math></span>, and that for fermions is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder></msup><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">M^{\underline N}/N!</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>M</mi><mover accent="true"><mi>N</mi><mo stretchy="true">‾</mo></mover></msup><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∏</mo><mrow><mi>M</mi><mo>≤</mo><mi>k</mi><mo>&lt;</mo><mi>M</mi><mo>+</mo><mi>N</mi></mrow></munder><mi>k</mi><mo separator="true">,</mo><mspace width="1em"/><msup><mi>M</mi><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder></msup><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∏</mo><mrow><mi>M</mi><mo>−</mo><mi>N</mi><mo>&lt;</mo><mi>k</mi><mo>≤</mo><mi>M</mi></mrow></munder><mi>k</mi></mrow><annotation encoding="application/x-tex">M^{\overline N}\ceq\prod_{M\le k&lt;M+N}k,\quad
M^{\underline N}\ceq\prod_{M-N&lt;k\le M}k</annotation></semantics></math></span> are called the rising factorial power and the falling factorial power respectively. These are the number of ways to put <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> balls into <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> boxes under three different rules.</p>
<p>Here is a summary table:</p>
<table>
<thead>
<tr>
<th></th>
<th>Distinguishable</th>
<th>Bosons</th>
<th>Fermions</th>
</tr>
</thead>
<tbody>
<tr>
<td>Quantum</td>
<td>Tensor algebra</td>
<td>Symmetric algebra</td>
<td>Exterior algebra</td>
</tr>
<tr>
<td>Classical</td>
<td>Tuple</td>
<td>Multiset</td>
<td>Set</td>
</tr>
<tr>
<td>Number</td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><mi>N</mi></msup></mrow><annotation encoding="application/x-tex">M^N</annotation></semantics></math></span></td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><mover accent="true"><mi>N</mi><mo stretchy="true">‾</mo></mover></msup><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">M^{\overline N}/N!</annotation></semantics></math></span></td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder></msup><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">M^{\underline N}/N!</annotation></semantics></math></span></td>
</tr>
</tbody>
</table>
<details>
<summary>
Labels on distinguishable particles
</summary>
<p>To explain this, I may actually need to explain the mathematical definition of a tuple. My personal favorite definition of a tuple is nested ordered pairs, with <a href="https://en.wikipedia.org/wiki/Ordered_pair#Kuratowski&#39;s_definition" target="_blank" rel="external">Kuratowski’s definition</a> of an ordered pair. However, for the purpose of this illustration, I will use another definition, which defines a tuple as a function from a finite <a href="https://en.wikipedia.org/wiki/Ordinal_number#Von_Neumann_definition_of_ordinals" target="_blank" rel="external">von Neumann ordinal</a> to the set of elements (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span> in this case), and a function is defined using its <a href="https://en.wikipedia.org/wiki/Graph_of_a_function" target="_blank" rel="external">graph</a>. There is a notational advantage of this definition in that, if we also define natural numbers as von Neumann ordinals (which is a common practice in set theory), it unifies the notation of the Cartesian power and the set of functions (in other words, we can identify <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="script">M</mi><mi>N</mi></msup></mrow><annotation encoding="application/x-tex">\mcal M^N</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mo>→</mo><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">N\to\mcal M</annotation></semantics></math></span>).</p>
<p>With this definition, we can see that a microstate of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> distinguishable particles is a function from their labels to the single-particle microstates, and the labels are always the first <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> natural numbers. The point is that, if a particle is removed or added, the labels will be rearranged so that the labels are always the first <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> natural numbers.</p>
<p>This should concern you in that the operation of rearranging labels makes each label no longer unique to each particle. For example, say, initially, the system has two particles with labels <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>, and they are in single-particle microstates <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">m_0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">m_1</annotation></semantics></math></span> respectively. It is then allowed to exchange particles with a bath. If particle <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> moves from the system to the bath while another particle from the bath moves to the system, then the two particles in the system after the exchange will still have labels <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>, but they are not the same particles as before. Namely, particle <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> is not the same particle <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> as before. If the two new partcicles are in single-particle microstates <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">m_0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">m_1</annotation></semantics></math></span> respectively just as before, then this new state will be regarded as the same state as the initial state, which should not be true because the particles are different from before.</p>
<p>Therefore, to avoid the subtlety of the labels, maybe it is better to consider microstates of many distinguishable particles directly as functions from the set of particles to the single-particle microstates, without attaching labels to the particles. However, this means that as long as the system is allowed to exchange particles with a bath, which, by definition, has a large number of particles compared to the system, the number of microstates in the system will be drastically increased. It would then be impossible to use the grand canonical ensemble to describe the system because you will find that the average number of particles in the system would depend on the number of particles in the bath, which is very absurd.</p>
<p>From this, we can see that the idea that every particle is distinguishable is inherently flawed, i.e., it can only be self-consistent with the unphysical operation of rearranging labels. This hints that, either the <em>a priori</em> probability principle is not applicable in this case, or there are only a few distinguishable types of particles in any practical cases.</p>
</details>
<h2 data-label="0.3" id="gibbs-factor-and-entropy">Gibbs factor and entropy</h2>
<p>Gibbs put the famous factor of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">1/N!</annotation></semantics></math></span> in front of the phase space integral of the ideal gas to make the entropy asymptotically linear in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>. People often interpret this as accounting for the indistinguishability of particles so that the result of classical treatment can match with the quantum treatment.</p>
<p>Actually, the effect of the Gibbs factor may not be as important as you imagined. In the microcanonical and the canonical ensemble, the Gibbs factor is just an overall factor for the partition function. The only effect is that the chemical potential would not be intensive and that the entropy would not be extensive without it, but there is no actual physical consequence of this because we cannot measure the entropy and the chemical potential in experiments anyway. In the grand canonical ensemble, the distribution of the number of particles is expected to be different with or without the Gibbs factor. However, at least for the ideal gas example (or more generally, for models with a quadratic Hamiltonian), the equipartition theorem and the ideal gas law would still hold without the Gibbs factor. Consider the grand canonical partition function of the ideal gas, whether we include the Gibbs factor or not: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">Ξ</mi><mn>1</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∑</mo><mi>N</mi></munder><mfrac><mn>1</mn><mrow><mi>N</mi><mo stretchy="false">!</mo></mrow></mfrac><msup><mrow><mo fence="true">(</mo><mfrac><mrow><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi>μ</mi></mrow></msup><mi>V</mi></mrow><msup><mi>λ</mi><mi>d</mi></msup></mfrac><mo fence="true">)</mo></mrow><mi>N</mi></msup><mo separator="true">,</mo><mspace width="1em"/><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∑</mo><mi>N</mi></munder><msup><mrow><mo fence="true">(</mo><mfrac><mrow><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi>μ</mi></mrow></msup><mi>V</mi></mrow><msup><mi>λ</mi><mi>d</mi></msup></mfrac><mo fence="true">)</mo></mrow><mi>N</mi></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\Xi_1\ceq\sum_N\fr1{N!}\p{\fr{\e^{\beta\mu}V}{\lmd^d}}^N,\quad
\Xi_2\ceq\sum_N\p{\fr{\e^{\beta\mu}V}{\lmd^d}}^N,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo><mi mathvariant="normal">≔</mi></mo><msqrt><mrow><mi>β</mi><msup><mi>h</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn><mi>π</mi><mi>m</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\lmd\ceq\sqrt{\beta h^2/2\pi m}</annotation></semantics></math></span>. If you spend the time to actually do the calculation, you can get the desired <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>p</mi><mi>V</mi><mo>=</mo><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">/</mi><mi>β</mi></mrow><annotation encoding="application/x-tex">pV=\a N/\beta</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mi>d</mi><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">/</mi><mn>2</mn><mi>β</mi></mrow><annotation encoding="application/x-tex">\a E=d\a N/2\beta</annotation></semantics></math></span>, whether you include the Gibbs factor or not. The entropy and the chemical potential would indeed change drastically with the introduction of the Gibbs factor, but they are not actually measurable quantities in experiments.</p>
<details>
<summary>
In case you feel this too magical
</summary>
<p>Let’s do this calculation. The calculation with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ξ</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\Xi_1</annotation></semantics></math></span> is standard on textbooks, so I will skip it. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\Xi_2</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mo>=</mo><mfrac><mn>1</mn><mrow><mn>1</mn><mo>−</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi></mrow></msup><mi>V</mi><mi mathvariant="normal">/</mi><msup><mi>λ</mi><mi>d</mi></msup></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\Xi_2=\fr1{1-\e^{-\alp}V/\lmd^d},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mi>β</mi><mi>μ</mi></mrow><annotation encoding="application/x-tex">\alp\ceq-\beta\mu</annotation></semantics></math></span>. Notice that there is a condition for this convergence, but it does not matter because we only need to consider those <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span> values that make it converge. Then, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mo>−</mo><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>α</mi></mrow></mfrac><mi>ln</mi><mo>⁡</mo><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi></mrow></msup><mi>V</mi><mi mathvariant="normal">/</mi><msup><mi>λ</mi><mi>d</mi></msup></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi></mrow></msup><mi>V</mi><mi mathvariant="normal">/</mi><msup><mi>λ</mi><mi>d</mi></msup></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\a N=-\fr{\partial}{\partial\alp}\ln\Xi_2
=\fr{\e^{-\alp}V/\lmd^d}{1-\e^{-\alp}V/\lmd^d},</annotation></semantics></math></span> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mo>−</mo><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>β</mi></mrow></mfrac><mi>ln</mi><mo>⁡</mo><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mo>=</mo><mfrac><mi>d</mi><mrow><mn>2</mn><mi>β</mi></mrow></mfrac><mfrac><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi></mrow></msup><mi>V</mi><mi mathvariant="normal">/</mi><msup><mi>λ</mi><mi>d</mi></msup></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi></mrow></msup><mi>V</mi><mi mathvariant="normal">/</mi><msup><mi>λ</mi><mi>d</mi></msup></mrow></mfrac><mo>=</mo><mfrac><mi>d</mi><mrow><mn>2</mn><mi>β</mi></mrow></mfrac><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\a E=-\fr{\partial}{\partial\beta}\ln\Xi_2
=\fr d{2\beta}\fr{\e^{-\alp}V/\lmd^d}{1-\e^{-\alp}V/\lmd^d}
=\fr d{2\beta}\a N.</annotation></semantics></math></span> Therefore, it works out. You may have noticed that the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a N</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> do not seem to be proportional to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span>, but it is fine because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>α</mi></mrow><annotation encoding="application/x-tex">\alp</annotation></semantics></math></span> is not intensive. Now, for the ideal gas law, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>p</mi><mo>=</mo><mfrac><mn>1</mn><mi>β</mi></mfrac><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>V</mi></mrow></mfrac><mi>ln</mi><mo>⁡</mo><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mo>=</mo><mfrac><mn>1</mn><mi>β</mi></mfrac><mfrac><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi></mrow></msup><mi mathvariant="normal">/</mi><msup><mi>λ</mi><mi>d</mi></msup></mrow><mrow><mn>1</mn><mo>−</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi></mrow></msup><mi>V</mi><mi mathvariant="normal">/</mi><msup><mi>λ</mi><mi>d</mi></msup></mrow></mfrac><mo>=</mo><mfrac><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><mrow><mi>β</mi><mi>V</mi></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">p=\fr1\beta\fr{\partial}{\partial V}\ln\Xi_2
=\fr1\beta\fr{\e^{-\alp}/\lmd^d}{1-\e^{-\alp}V/\lmd^d}
=\fr{\a N}{\beta V}.</annotation></semantics></math></span> Therefore, it works out.</p>
<p>In fact, you can multiply the summand by any (sensible) function of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> without spoiling these state equations, but it is specific to the ideal gas. The reason behind this is because of the strict extensivity of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>.</p>
<p>Let’s just consider the general case for now. Assume that the canonical partition function is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fN\fc Z{\beta,N,V}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fN</annotation></semantics></math></span> is the Gibbs factor, which can actually be any non-trivial function you like. Then, the average energy in the canonical ensemble is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mi>Z</mi></msub><mo>=</mo><mo>−</mo><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>β</mi></mrow></mfrac><mi>ln</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><mfrac><mn>1</mn><mrow><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow></mrow></mfrac><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>β</mi></mrow></mfrac><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mi mathvariant="normal">/</mi><mi>V</mi><mo fence="true">)</mo></mrow><mi>N</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\a E_Z=-\fr{\partial}{\partial\beta}\fc\ln{\fc fN\fc Z{\beta,N,V}}
=-\fr1{\fc Z{\beta,N,V}}\fr{\partial}{\partial\beta}\fc Z{\beta,N,V}
=\fc u{\beta,N/V}N,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mi mathvariant="normal">/</mi><mi>V</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc u{\beta,N/V}</annotation></semantics></math></span> cannot depend on any extensive quantities (here, the only things that it can depend on are the temperature <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> and the particle number density <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mi mathvariant="normal">/</mi><mi>V</mi></mrow><annotation encoding="application/x-tex">N/V</annotation></semantics></math></span>). The last step is because both <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> are extensive quantities (so they must be proportional to each other). Notice that this requires the thermodynamic limit unless we are considering the ideal gas, where the extensivity is exact. Therefore, <span id="eq:partial-z" data-label="(1)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>β</mi></mrow></mfrac><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mi mathvariant="normal">/</mi><mi>V</mi><mo fence="true">)</mo></mrow><mi>N</mi><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fr{\partial}{\partial\beta}\fc Z{\beta,N,V}=-\fc u{\beta,N/V}N\fc Z{\beta,N,V}.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(1)</annotation></semantics></math></span></span> </span></span></p>
<p>Particularly, for ideal gases, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mi mathvariant="normal">/</mi><mi>V</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc u{\beta,N/V}</annotation></semantics></math></span> only depends on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span>, with no <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi><mi mathvariant="normal">/</mi><mi>V</mi></mrow><annotation encoding="application/x-tex">N/V</annotation></semantics></math></span> dependence. For more general cases, it is reasonable to assume that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>n</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc u{\beta,n}</annotation></semantics></math></span> can be expanded in a power series of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msub><mi>u</mi><mi>k</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo fence="true">)</mo></mrow><msup><mi>n</mi><mi>k</mi></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc u{\beta,n}=\sum_{k=0}^\infty\fc{u_k}\beta n^k.</annotation></semantics></math></span></p>
<p>Then, let’s define the grand canonical partition function to be <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Ξ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>α</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><munder><mo>∑</mo><mi>N</mi></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi><mi>N</mi></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\Xi{\beta,\alp,V}\ceq\sum_N\fc fN\fc Z{\beta,N,V}\e^{-\alp N}.</annotation></semantics></math></span> Then, the average energy in the grand canonical ensemble is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">Ξ</mi></msub><mo>=</mo><mo>−</mo><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>β</mi></mrow></mfrac><mi>ln</mi><mo>⁡</mo><mi mathvariant="normal">Ξ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>α</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><mfrac><mn>1</mn><mrow><mi mathvariant="normal">Ξ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>α</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow></mrow></mfrac><munder><mo>∑</mo><mi>N</mi></munder><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow><mfrac><mrow><mi mathvariant="normal">∂</mi><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>N</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow></mrow><mrow><mi mathvariant="normal">∂</mi><mi>β</mi></mrow></mfrac><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi><mi>N</mi></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\a E_\Xi=-\fr{\partial}{\partial\beta}\ln\fc\Xi{\beta,\alp,V}
=-\fr1{\fc\Xi{\beta,\alp,V}}\sum_N\fc fN\fr{\partial\fc Z{\beta,N,V}}{\partial\beta}\e^{-\alp N}.</annotation></semantics></math></span> Substitute Equation <a href="#eq:partial-z">1</a>, and then we get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">Ξ</mi></msub><mo>=</mo><munder><mo>∑</mo><mi>k</mi></munder><mfrac><mrow><msub><mi>u</mi><mi>k</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo fence="true">)</mo></mrow></mrow><msup><mi>V</mi><mi>k</mi></msup></mfrac><msub><mrow><mo fence="true">⟨</mo><msup><mi>N</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msup><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">Ξ</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\a E_\Xi=\sum_k\fr{\fc{u_k}\beta}{V^k}\a{N^{k+1}}_\Xi.</annotation></semantics></math></span> For ideal gas, only the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">k=0</annotation></semantics></math></span> term is nonzero, so we recover <span id="eq:grand-canonical-energy" data-label="(2)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">Ξ</mi></msub><mo>=</mo><mi>u</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><msub><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">Ξ</mi></msub><mi mathvariant="normal">/</mi><mi>V</mi><mo fence="true">)</mo></mrow><msub><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">Ξ</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\a E_\Xi=\fc u{\beta,\a N_\Xi/V}\a N_\Xi.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(2)</annotation></semantics></math></span></span> </span></span> For more general case, for this to be true, we need to require that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><msub><mrow><mo fence="true">⟨</mo><msup><mi>N</mi><mi>k</mi></msup><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">Ξ</mi></msub><msubsup><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">Ξ</mi><mi>k</mi></msubsup></mfrac><mo>→</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\fr{\a{N^k}_\Xi}{\a{N}^k_\Xi}\to1</annotation></semantics></math></span> in the thermodynamic limit. However, this is not true for a general <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>N</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fN</annotation></semantics></math></span>. In fact, it is not true already for the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub></mrow><annotation encoding="application/x-tex">\Xi_2</annotation></semantics></math></span> example above, which can be easily shown for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">k=2</annotation></semantics></math></span>. Notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><mrow><msub><mrow><mo fence="true">⟨</mo><msup><mi>N</mi><mn>2</mn></msup><mo fence="true">⟩</mo></mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub></msub><mo>−</mo><msubsup><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mn>2</mn></msubsup></mrow><msubsup><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mn>2</mn></msubsup></mfrac><mo>=</mo><mfrac><mrow><mfrac><msup><mi mathvariant="normal">∂</mi><mn>2</mn></msup><mrow><mi mathvariant="normal">∂</mi><msup><mi>α</mi><mn>2</mn></msup></mrow></mfrac><mi>ln</mi><mo>⁡</mo><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>α</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow></mrow><msup><mrow><mo fence="true">(</mo><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>α</mi></mrow></mfrac><mi>ln</mi><mo>⁡</mo><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo separator="true">,</mo><mi>α</mi><mo separator="true">,</mo><mi>V</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mn>2</mn></msup></mfrac><mo>=</mo><mfrac><mn>1</mn><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>α</mi></mrow></msup><mi>V</mi><mi mathvariant="normal">/</mi><msup><mi>λ</mi><mi>d</mi></msup></mrow></mfrac><mo>=</mo><mn>1</mn><mo>+</mo><mfrac><mn>1</mn><msub><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub></msub></mfrac><mo>→</mo><mn>1.</mn></mrow><annotation encoding="application/x-tex">\fr{\a{N^2}_{\Xi_2}-\a N_{\Xi_2}^2}{\a N_{\Xi_2}^2}
=\fr{\fr{\partial^2}{\partial\alp^2}\ln\fc{\Xi_2}{\beta,\alp,V}}{\p{\fr{\partial}{\partial\alp}\ln\fc{\Xi_2}{\beta,\alp,V}}^2}
=\fr1{\e^{-\alp}V/\lmd^d}=1+\fr1{\a N_{\Xi_2}}\to1.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mfrac><msub><mrow><mo fence="true">⟨</mo><msup><mi>N</mi><mn>2</mn></msup><mo fence="true">⟩</mo></mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub></msub><msubsup><mrow><mo fence="true">⟨</mo><mi>N</mi><mo fence="true">⟩</mo></mrow><msub><mi mathvariant="normal">Ξ</mi><mn>2</mn></msub><mn>2</mn></msubsup></mfrac><mo>→</mo><mn>2.</mn></mrow><annotation encoding="application/x-tex">\fr{\a{N^2}_{\Xi_2}}{\a N_{\Xi_2}^2}\to2.</annotation></semantics></math></span> This makes <a href="#eq:grand-canonical-energy">2</a> not true if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>u</mi><mn>1</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{u_1}\beta</annotation></semantics></math></span> is non-trivial. The deeper reason behind this disagreement is that the extensivity of the characteristic functions (in this case, the Helmholtz energy and the grand potential) is required for the thermodynamic equivalence between different ensembles (in this case, the canonical ensemble and the grand canonical ensemble). I will cover this in more detail later in this article.</p>
</details>
<p>This then raises questions. Does the entropy have to be linear in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>? In other words, does the entropy need to meet the traditional sense of extensivity? Does physics actually care about our definition of the entropy? The answer to these questions is actually no. The entropy is not something that we can directly measure in experiments, and there are some freedom in the definition of the entropy that does not affect any physical outcomes.</p>
<p>Now, recall that the Gibbs factor accounts for the indistinguishability of particles. This would mean that whether the particles are actually distinguishable or not does not matter the actual physics. Gas particles in real life may well be distinguishable. For example, chlorine has two stable isotopes that naturally occur with considerable abundance, and that does not make it substantially different from, say, fluorine, which has only one stable isotope. Maybe people will also find observable features in fluorine molecules that would make them distinguishable, who knows? That would not deny any of the experimentally tested thermodynamic theories that can be applied to fluorine today.</p>
<p>Therefore, the Gibbs factor should not be introduced in the sole purpose of accounting for the indistinguishability of particles. It is introduced to make the entropy traditionally extensive. However, as I already stated, it is not necessary for the actual physics, so why is it important to make the entropy extensive? The answer is that, otherwise, the free energy (be it the Helmholtz energy or the Gibbs energy) would not be extensive. The free energy measures the work that can be extracted from the system, and by this nature it must be extensive because energy is additive. Therefore, only when we define the entropy in a way such that it is extensive, can it possibly make the derived free energy be able to measure the extractable work.</p>
<p>Having the idea that the free energy measures the amount of work that can be extracted from the system, we would then think we are able to extract some work out of the process of mixing two distinguishable gases. This is because distinguishability gives rise to a mixing entropy, which is the whole reason why it makes the entropy fail to be traditionally extensive. On the other hand, as I stated, whether we regard the two gases distinguishable or not in theory, it does not matter the actual physics. However, the amount of work that can be extracted from the process of mixing two gases is very physical by any means. To resolve this, the take is that, if it is possible to extract work from mixing them in one’s theory, then it should also be possible to distinguish the gases in their theory. On the other hand, if the two gases are indistinguishable in one’s theory, then it is impossible to extract work from mixing them in their theory. Therefore, it actually does not matter whether the gases are “in reality” distinguishable or not, the theory would be able to make itself consistent. The texts about the <a href="https://en.wikipedia.org/wiki/Gibbs_paradox#Mixing_paradox" target="_blank" rel="external">mixing paradox</a> on Wikipedia explain this idea, which is a gist of the <a href="https://doi.org/10.1007/978-94-017-2219-3_1" target="_blank" rel="external">paper</a> (which unfortunately did not talk about the grand canonical ensemble in detail).</p>
<p>Another importance for the entropy to be extensive is that only then can different ensembles be thermodynamically equivalent. The thermodynamical equivalence is the property that the thermodynamic properties determined from the characteristic functions (e.g., entropy, Helmholtz energy, and grand potential) of different statistical ensembles are the same in the thermodynamic limit. This is not a sufficient condition, though, because we also need to require that the entropy is a concave function of the extensive quantities. There is a good <a href="https://doi.org/10.1007/s10955-015-1212-2" target="_blank" rel="external">paper</a> that explains the equivalence and nonequivalence of ensembles in detail, assuming the characteristic functions are always extensive. The main idea is that, for any statistical ensemble, the probability measure on the space of macrostates, parametrized by the particle number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>, satisfies the large deviation principle with the <a href="https://en.wikipedia.org/wiki/Rate_function" target="_blank" rel="external">rate function</a> being the characteristic function. With the concavity condition, using a generalization of <a href="https://en.wikipedia.org/wiki/Laplace%27s_method" target="_blank" rel="external">Laplace’s method</a>, it can then be proven that the characteristic functions of different ensembles are related as being the Legendre transform of each other.</p>
<details>
<summary>
Simplified sketch
</summary>
<p>I am writing this because before I read the paper, I independently came up with the same idea of using Laplace’s method to prove the equivalence of ensembles. I wrote it on <a href="https://www.zhihu.com/question/35706570/answer/3505430771" target="_blank" rel="external">Zhihu</a>, and here is a translation of it.</p>
<p>Assume that the extensive quantity of the system is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span> and that the corresponding intensive quantity is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math></span>. Suppose that the partition function of the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span>-ensemble is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ω</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\Omg E</annotation></semantics></math></span>, and then the characteristic function of the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span>-ensemble would be <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>ln</mi><mo>⁡</mo><mi mathvariant="normal">Ω</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc SE\ceq\ln\fc\Omg E</annotation></semantics></math></span>, and we would have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mo>=</mo><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">I=\fc{S&#x27;}E</annotation></semantics></math></span> (the prime denotes the derivative) in the thermal equilibrium state with fixed <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span>.</p>
<p>On the other hand, the partition function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc ZI</annotation></semantics></math></span> of the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math></span>-ensemble is the Laplace transform of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ω</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\Omg E</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo>=</mo><mo>∫</mo><mi mathvariant="normal">Ω</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>I</mi><mi>E</mi></mrow></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>E</mi><mo>=</mo><mo>∫</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>I</mi><mi>E</mi></mrow></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>E</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc ZI=\int\fc\Omg E\e^{-IE}\,\d E
=\int\e^{\fc SE-IE}\,\d E.</annotation></semantics></math></span> We have the characteristic function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>F</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc FI\ceq-\ln\fc ZI</annotation></semantics></math></span> of the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math></span>-ensemble, and we would have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mo>=</mo><msup><mi>F</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">E=\fc{F&#x27;}I</annotation></semantics></math></span> in the thermal equilibrium state with fixed <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math></span>.</p>
<p>The question now is whether <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mo>=</mo><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">I=\fc{S&#x27;}E</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi><mo>=</mo><msup><mi>F</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">E=\fc{F&#x27;}I</annotation></semantics></math></span> are actually the same equation. In other words, are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">S&#x27;</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>F</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">F&#x27;</annotation></semantics></math></span> inverse functions of each other? If they are, then we get the same results from the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span>-ensemble and the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math></span>-ensemble. Nevertheless, generally they are not. We just need one counterexample to show that: for system with a quadratic Hamiltonian, let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span> be the energy, and then its corresponding intensive quantity <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math></span> is the inverse temperature (in this case, the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>E</mi></mrow><annotation encoding="application/x-tex">E</annotation></semantics></math></span>-ensemble is the microcanonical ensemble, and the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi></mrow><annotation encoding="application/x-tex">I</annotation></semantics></math></span>-ensemble is the canonical ensemble), and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Ω</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><mo>∝</mo><msup><mi>E</mi><mrow><mi>n</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mo separator="true">,</mo><mspace width="1em"/><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mi>n</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><mi>E</mi></mfrac><mo separator="true">,</mo><mspace width="1em"/><msup><mi>F</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mrow><mn>1</mn><mo>+</mo><mi>n</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow><mi>I</mi></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc\Omg E\propto E^{n/2},\quad
\fc{S&#x27;}E=\fr{n/2}E,\quad
\fc{F&#x27;}I=\fr{1+n/2}I,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> is the number of quadratic terms in the Hamiltonian (e.g., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>3</mn><mi>N</mi></mrow><annotation encoding="application/x-tex">n=3N</annotation></semantics></math></span> for classical monatomic ideal gas).</p>
<p>However, we can see that, for the thermodynamic limit <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">n\to\infty</annotation></semantics></math></span>, we indeed have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">S&#x27;</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>F</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></mrow><annotation encoding="application/x-tex">F&#x27;</annotation></semantics></math></span> being the inverse functions of each other. We can then conjecture that, under the thermodynamic limit, different ensembles will get the same result. Now, what is the thermodynamic limit? We may think that multiplying extensive quantities by a zooming factor <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span> and letting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\lmd\to\infty</annotation></semantics></math></span> is the thermodynamic limit. A good characteristic function should also be extensive in the thermodynamic limit, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>E</mi><mo fence="true">)</mo></mrow><mo>≈</mo><mi>λ</mi><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc S{\lmd E}\approx\lmd\fc SE</annotation></semantics></math></span>. Therefore, we define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>S</mi><mi>λ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>E</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><msub><mi>Z</mi><mi>λ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mo>∫</mo><msup><mi mathvariant="normal">e</mi><mrow><msub><mi>S</mi><mi>λ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>I</mi><mi>λ</mi><mi>E</mi></mrow></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>E</mi><mo>≈</mo><mo>∫</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>λ</mi><mrow><mo fence="true">(</mo><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><mo>−</mo><mi>I</mi><mi>E</mi><mo fence="true">)</mo></mrow></mrow></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>E</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{S_\lmd}E\ceq\fc S{\lmd E},\quad
\fc{Z_\lmd}I\ceq\int\e^{\fc{S_\lmd}E-I\lmd E}\,\d E
\approx\int\e^{\lmd\p{\fc SE-IE}}\,\d E.</annotation></semantics></math></span> When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\lmd\to\infty</annotation></semantics></math></span>, use Laplace’s method to get (assuming that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>S</mi></mrow><annotation encoding="application/x-tex">S</annotation></semantics></math></span> is a concave function) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>λ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo>≈</mo><msqrt><mfrac><mrow><mn>2</mn><mi>π</mi></mrow><mrow><mi>λ</mi><mrow><mo fence="true">∣</mo><msup><mi>S</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>S</mi><mrow><mo mathvariant="normal">′</mo><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">∣</mo></mrow></mrow></mfrac></msqrt><msup><mi mathvariant="normal">e</mi><mrow><mi>λ</mi><mrow><mo fence="true">(</mo><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>S</mi><mrow><mo mathvariant="normal">′</mo><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>−</mo><mi>I</mi><msup><mi>S</mi><mrow><mo mathvariant="normal">′</mo><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{Z_\lmd}I\approx\sqrt{\fr{2\pi}{\lmd\v{\fc{S&#x27;&#x27;}{\fc{S^{\prime-1}}{I}}}}}
\e^{\lmd\p{\fc S{\fc{S^{\prime-1}}{I}}-I\fc{S^{\prime-1}}{I}}},</annotation></semantics></math></span> and thus (only keeping the highest order term in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span>) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>F</mi><mi>λ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mo>−</mo><mfrac><mi mathvariant="normal">∂</mi><mrow><mi mathvariant="normal">∂</mi><mi>I</mi></mrow></mfrac><mi>ln</mi><mo>⁡</mo><msub><mi>Z</mi><mi>λ</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo>≈</mo><mi>λ</mi><msup><mi>S</mi><mrow><mo mathvariant="normal">′</mo><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo>≈</mo><msubsup><mi>S</mi><mi>λ</mi><mrow><mo mathvariant="normal">′</mo><mo>−</mo><mn>1</mn></mrow></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>I</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{F&#x27;_\lmd}I\ceq-\fr\partial{\partial I}\ln\fc{Z_\lmd}I
\approx\lmd\fc{S^{\prime-1}}{I}\approx\fc{S^{\prime-1}_\lmd}I,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>S</mi><mi>λ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>E</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal">d</mi><mi>S</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>E</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>E</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi>S</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>E</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{S&#x27;_\lmd}E\ceq\d\fc S{\lmd E}/\d\!\p{\lmd E}
=\fc{S&#x27;}{\lmd E}</annotation></semantics></math></span> (instead of simply the derivative of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>S</mi><mi>λ</mi></msub></mrow><annotation encoding="application/x-tex">S_\lmd</annotation></semantics></math></span>). This is indeed our expected result: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>S</mi><mi>λ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">S&#x27;_\lmd</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>F</mi><mi>λ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup></mrow><annotation encoding="application/x-tex">F&#x27;_\lmd</annotation></semantics></math></span> are inverse functions of each other.</p>
</details>
<h2 data-label="0.4" id="gibbs-factor-and-indistinguishability">Gibbs factor and indistinguishability</h2>
<p>Why can the introductiong of the Gibbs factor account for the indistinguishability?</p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mn>0</mn></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>M</mi><mi>N</mi></msup></mrow><annotation encoding="application/x-tex">\fc{\Omg^0}{M,N}\ceq M^N</annotation></semantics></math></span> to be the number of microstates of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> distinguishable particles with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> single-particle microstates. Then, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi mathvariant="normal">Ω</mi><mn>0</mn></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">\fc{\Omg_0}{M,N}\ceq\fc{\Omg^0}{M,N}/N!</annotation></semantics></math></span> to be the version with the Gibbs factor. Also, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mo>±</mo></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>M</mi><mover accent="true"><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder><mo stretchy="true">‾</mo></mover></msup><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">\fc{\Omg_\pm}{M,N}\ceq M^{\overline{\underline N}}/N!</annotation></semantics></math></span> for bosons and fermions, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><mover accent="true"><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder><mo stretchy="true">‾</mo></mover></msup></mrow><annotation encoding="application/x-tex">M^{\overline{\underline N}}</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><mover accent="true"><mi>N</mi><mo stretchy="true">‾</mo></mover></msup></mrow><annotation encoding="application/x-tex">M^{\overline N}</annotation></semantics></math></span> or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder></msup></mrow><annotation encoding="application/x-tex">M^{\underline N}</annotation></semantics></math></span> corresponding to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>+</mo></mrow><annotation encoding="application/x-tex">+</annotation></semantics></math></span> or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo></mrow><annotation encoding="application/x-tex">-</annotation></semantics></math></span> in the notation “<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>±</mo></mrow><annotation encoding="application/x-tex">\pm</annotation></semantics></math></span>” respectively.</p>
<p>If we make the distinguishable particles indistinguishable, we have to characterize them as either bosons or fermions. However, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\Omg_0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mo>±</mo></msub></mrow><annotation encoding="application/x-tex">\Omg_\pm</annotation></semantics></math></span> are not exactly the same, This discrepancy can be resolved in the large <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> limit. We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msub><mi mathvariant="normal">Ω</mi><mo>±</mo></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mi>N</mi><mo stretchy="false">!</mo></mrow></mfrac><munderover><mo>∏</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></munderover><mrow><mo fence="true">(</mo><mi>M</mi><mo>±</mo><mi>k</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><msup><mi>M</mi><mi>N</mi></msup><mrow><mi>N</mi><mo stretchy="false">!</mo></mrow></mfrac><munderover><mo>∏</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>N</mi><mo>−</mo><mn>1</mn></mrow></munderover><mrow><mo fence="true">(</mo><mn>1</mn><mo>±</mo><mfrac><mi>k</mi><mi>M</mi></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><msub><mi mathvariant="normal">Ω</mi><mn>0</mn></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mn>1</mn><mo>±</mo><mfrac><mrow><mi>N</mi><mrow><mo fence="true">(</mo><mi>N</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><mrow><mn>2</mn><mi>M</mi></mrow></mfrac><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>M</mi><mrow><mo>−</mo><mn>2</mn></mrow></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
\fc{\Omg_\pm}{M,N}&amp;=\fr1{N!}\prod_{k=0}^{N-1}\p{M\pm k}
=\fr{M^N}{N!}\prod_{k=0}^{N-1}\p{1\pm\fr kM}\\
&amp;=\fc{\Omg_0}{M,N}\p{1\pm\fr{N\p{N-1}}{2M}+\order{M^{-2}}},
\end{align*}</annotation></semantics></math></span> where the big-O notation is understood as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> fixed and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">M\to\infty</annotation></semantics></math></span>. Therefore, to have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mn>0</mn></msub><mo>≈</mo><msub><mi mathvariant="normal">Ω</mi><mo>±</mo></msub></mrow><annotation encoding="application/x-tex">\Omg_0\approx\Omg_\pm</annotation></semantics></math></span>, loosely speaking, we need <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi><mo>≫</mo><msup><mi>N</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">M\gg N^2</annotation></semantics></math></span>. In this limit, there is no difference between boson statistics and fermion statistics, and both of them are the same as distinguishable particles with the Gibbs factor.</p>
<p>Intuitively, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> is very large, then in most of the microstates, each single-particle microstate is occupied by at most one particle, which renders boson statistics and fermion statistics the same. Particularly, if there are infinitely many single-particle microstates, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> is effectively infinite, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mn>0</mn></msub><mo>=</mo><msub><mi mathvariant="normal">Ω</mi><mo>±</mo></msub></mrow><annotation encoding="application/x-tex">\Omg_0=\Omg_\pm</annotation></semantics></math></span> is strictly true for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> in this case. This is why the result for classical ideal gas is exact: there are so many single-particle microstates that the probability for two particles to occupy the same microstate is exactly zero, i.e., such microstates have zero measure.</p>
<details>
<summary>
Classical Fermi gas
</summary>
<p>I previously said that, to make things simple, the measure on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">M</mi></mrow><annotation encoding="application/x-tex">\mcal M</annotation></semantics></math></span> would be the counting measure. One big reason behind that is the difficulty of a purely classical description of the Fermi gas.</p>
<p>In the classical description of a gas, the microstates of each particle are points in the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>d</mi></mrow><annotation encoding="application/x-tex">2d</annotation></semantics></math></span>-dimensional phase space, which is a region in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="double-struck">R</mi><mrow><mn>2</mn><mi>d</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\bR^{2d}</annotation></semantics></math></span>, and the measure is just the usual Lebesgue measure (or any other practically equivalent measure, for math nerds). Therefore, naturally, the microstates of many particles with particle number <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> would be a region in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="double-struck">R</mi><mrow><mn>2</mn><mi>d</mi><mi>N</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\bR^{2dN}</annotation></semantics></math></span>, also equipped with the usual Lebesgue measure.</p>
<p>If the gas consists of fermions, then in any microstate, two particles cannot be in the same single-particle microstate. However, the set of all microstates that have two such particles has zero measure in the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mi>d</mi><mi>N</mi></mrow><annotation encoding="application/x-tex">2dN</annotation></semantics></math></span>-dimensional phase space. Therefore, it just would not matter at all whether the particles are fermions or not in the classical description.</p>
<p>However, we know that is not the actual case. In practice, we divide the single-particle phase space into cells of size <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>h</mi><mi>d</mi></msup></mrow><annotation encoding="application/x-tex">h^{d}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi></mrow><annotation encoding="application/x-tex">h</annotation></semantics></math></span> is the Planck constant, which we put here by hand. No two particles can reside in the same cell. Therefore, any “bulky” region in the single-particle phase space with volume <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ω</mi></mrow><annotation encoding="application/x-tex">\Omg</annotation></semantics></math></span> cannot contain more than <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Ω</mi><mi mathvariant="normal">/</mi><msup><mi>h</mi><mi>d</mi></msup></mrow><annotation encoding="application/x-tex">\Omg/h^{d}</annotation></semantics></math></span> particles.</p>
<p>This all sounds fine, except that we did not define what a “bulky” region is. Of course, the Fermi sea is a bulky region, but what about a tube that is long enough to connect any specified discrete points in the single-particle phase space but is thin enough to have volume even smaller than <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>h</mi><mi>d</mi></msup></mrow><annotation encoding="application/x-tex">h^{d}</annotation></semantics></math></span>? In fact, by constructing regions with not-so-exotic shapes, we can make any distributino of particles in the single-particle phase space seem like it is violating the Pauli exclusion principle or not arbitrarily. Just shown in the figure below, particles that reasonably distribute in different cells may be regarded as being in one cell, while particles that reasonably occupy the same cell may be regarded as being in different cells.</p>
<figure>
<img src="/assets/images/figures/2025-03-03-indistinguishability/phase-space-cells.svg" class="dark-adaptive" alt="Regular phase space cells and exotic ones" />
<figcaption aria-hidden="true">Regular phase space cells and exotic ones</figcaption>
</figure>
<p>There are some possible ways to resolve this issue. One naive way is to stipulate that the cell arranges in some lattice structure such as the simple cube lattice. However, this will break the rotational symmetry in the phase space so that the Fermi sea will not be strictly isotropic anymore. Also, the introduction of the lattice structure changes the physics of the system if it is far from the thermodynamic limit. Only in the thermodynamic limit will the particular choice of lattice structure be irrelevant to the physics.</p>
<p>Another way is to consider a phase space <a href="https://en.wikipedia.org/wiki/Density_functional_theory" target="_blank" rel="external">density functional theory</a>, where a function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ρ</mi></mrow><annotation encoding="application/x-tex">\rho</annotation></semantics></math></span> is defined on the single-particle phase space, representing the number of particles in unit volume in the phase space. The measure of the number of microstates for the many-body system is then the functional integral of this density function. The Pauli exclusion principle can then be translated into the constraint that the value of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ρ</mi></mrow><annotation encoding="application/x-tex">\rho</annotation></semantics></math></span> must not exceed <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><msup><mi>h</mi><mi>d</mi></msup></mrow><annotation encoding="application/x-tex">1/h^{d}</annotation></semantics></math></span> anywhere, which prevents the number of particles in any region of size <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>h</mi><mi>d</mi></msup></mrow><annotation encoding="application/x-tex">h^{d}</annotation></semantics></math></span> from exceeding <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span>. It can also describe bosons by removing this constraint. I have not explored this approach myself, but I doubt it would be a good idea because it seems like an overkill to the problem and will introduce even more mathematical subtleties with the functional integral. Also, more careful analysis must be done to devise the proper measure on the functional space to match the usual sense of number of microstates. Another issue is that it defies the classical notion of particles as clear points but instead treats them as cloudy distributions just like quantum mechanics, and by this very reason it is not capable of being generalized to describe distinguishable particles.</p>
</details>
<p>When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> is not very large, using the Gibbs factor is then not a correct way to account for indistinguishability. However, it can be corrected, as long as we use <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mo>±</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>M</mi><mover accent="true"><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder><mo stretchy="true">‾</mo></mover></msup></mrow><annotation encoding="application/x-tex">\fc{\Omg^\pm}{M,N}\ceq M^{\overline{\underline N}}</annotation></semantics></math></span> instead of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mn>0</mn></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\Omg^0}{M,N}</annotation></semantics></math></span>. Then, we would have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mo>±</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo><mo>=</mo><msub><mi mathvariant="normal">Ω</mi><mo>±</mo></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\Omg^\pm}{M,N}/N!=\fc{\Omg_\pm}{M,N}</annotation></semantics></math></span> exactly, corresponding to boson statistics and fermion statistics. There are indeed combanitorics problems of putting distinguishable balls into boxes that results in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mo>±</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\Omg^\pm}{M,N}</annotation></semantics></math></span>. Actually, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mo>+</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\Omg^+}{M,N}</annotation></semantics></math></span> is the number of ways to put <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> distinguishable balls into <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> boxes with the balls in each box being ordered; <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mo>−</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>M</mi><mo separator="true">,</mo><mi>N</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\Omg^-}{M,N}</annotation></semantics></math></span> is the number of ways to put <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> distinguishable balls into <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> exclusive boxes (“exclusive” means that each box cannot contain more than one ball).</p>
<p>Now, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mo>±</mo></msup></mrow><annotation encoding="application/x-tex">\Omg^\pm</annotation></semantics></math></span> represents two more different rules under which we put balls into boxes. Together with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\Omg_0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mo>±</mo></msub></mrow><annotation encoding="application/x-tex">\Omg_\pm</annotation></semantics></math></span>, there are five different rules in total. We can summarize them into a table:</p>
<table>
<thead>
<tr>
<th><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span> balls</th>
<th><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>M</mi></mrow><annotation encoding="application/x-tex">M</annotation></semantics></math></span> boxes</th>
<th>Number of ways</th>
<th>Particles</th>
</tr>
</thead>
<tbody>
<tr>
<td>Distinguishable</td>
<td>Unordered</td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mn>0</mn></msup><mo>=</mo><msup><mi>M</mi><mi>N</mi></msup></mrow><annotation encoding="application/x-tex">\Omg^0=M^N</annotation></semantics></math></span></td>
<td>Distinguishable particles</td>
</tr>
<tr>
<td>Distinguishable</td>
<td>Ordered</td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mo>+</mo></msup><mo>=</mo><msup><mi>M</mi><mover accent="true"><mi>N</mi><mo stretchy="true">‾</mo></mover></msup></mrow><annotation encoding="application/x-tex">\Omg^+=M^{\overline N}</annotation></semantics></math></span></td>
<td>Bosons (without Gibbs factor)</td>
</tr>
<tr>
<td>Distinguishable</td>
<td>Exclusive</td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Ω</mi><mo>−</mo></msup><mo>=</mo><msup><mi>M</mi><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder></msup></mrow><annotation encoding="application/x-tex">\Omg^-=M^{\underline N}</annotation></semantics></math></span></td>
<td>Fermions (without Gibbs factor)</td>
</tr>
<tr>
<td>Indistinguishable</td>
<td>Unordered</td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mo>+</mo></msub><mo>=</mo><msup><mi>M</mi><mover accent="true"><mi>N</mi><mo stretchy="true">‾</mo></mover></msup><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">\Omg_+=M^{\overline N}/N!</annotation></semantics></math></span></td>
<td>Bosons</td>
</tr>
<tr>
<td>Indistinguishable</td>
<td>Exclusive</td>
<td><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="normal">Ω</mi><mo>−</mo></msub><mo>=</mo><msup><mi>M</mi><munder accentunder="true"><mi>N</mi><mo stretchy="true">‾</mo></munder></msup><mi mathvariant="normal">/</mi><mi>N</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">\Omg_-=M^{\underline N}/N!</annotation></semantics></math></span></td>
<td>Fermions</td>
</tr>
</tbody>
</table>
<p class="no-indent">
These are all common enumerative problems of putting balls into boxes in combinatorics. One can extend this table by including more different enumerative problems. There is such a table called the <a href="https://en.wikipedia.org/wiki/Twelvefold_way#The_twentyfold_way" target="_blank" rel="external">twentyfold way</a> that lists 20 different enumerative problems.
</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="physics" /><category term="mathematical physics" /><category term="statistical mechanics" /><category term="probability" /><category term="long paper" /><category term="combinatorics" /><category term="quantum mechanics" /><summary type="html"><![CDATA[Indistinguishability plays an important role in enumerative problems in combinatorics. This article explains the concept and significance of particle indistinguishability in statistical mechanics.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-03-03-indistinguishability.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-03-03-indistinguishability.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Why it is a bad idea to use GitHub for submiting school homework]]></title><link href="https://ulysseszh.github.io/misc/2025/01/09/github-homework.html" rel="alternate" type="text/html" title="Why it is a bad idea to use GitHub for submiting school homework" /><published>2025-01-09T23:51:35-08:00</published><updated>2025-01-09T23:51:35-08:00</updated><id>https://ulysseszh.github.io/misc/2025/01/09/github-homework</id><content type="html" xml:base="https://ulysseszh.github.io/misc/2025/01/09/github-homework.html"><![CDATA[<p><em>Do not take this artical as legal advice because I am not a lawyer.</em></p>
<hr />
<p>It is common for school courses to require students to submit their homework using GitHub, especially in college-level courses offered in universities, but this may not be the best idea.</p>
<p>The first reason why GitHub is not suitable for that is that it is not controlled by the school. GitHub has its own terms of service (TOS), which students must agree to. This may not sound bad because it is not hard for students to do so, but the course instructors may be <strong>forcing students to violate the TOS</strong> by “threatening” that they will get a bad grade otherwise. There are different possible reasons why the instructors may be doing this. Maybe they are not familiar with the TOS enough; maybe they are just not familar enough with GitHub to come up with an actually good way of managing homework; or maybe they are aware of that but do not care.</p>
<p>What is the big deal? Why is it bad to violate the TOS? Well, the GitHub account of a student may be really important to him: he may be contributing to dozens of open-source projects, or he may be presenting his GitHub username in his resume. This account is not only important for the owner himself, it is also important for the community: some of the repositories that the account owns may be very popular projects; there may be hundreds of people following the account because they are interested in the work of its owner; important webpages (hosted on GitHub Pages) or important package registries (hosted on GitHub Packages) may be associated with the account; and many pages on the internet may be linking to contents of the account. Now, if the account violates the TOS, it may be subject to being suspended, losing privileges, or getting hidden from the public, any of which may cause a lot of harm to the owner and the community. Because of violation of TOS, the account owner may face trouble when reaching GitHub support because it tends to refuse to help users who violate the TOS.</p>
<p>What about creating a new account just for the course? Yes, it sounds like a effective and simple solution, only if it is allowed by the TOS. Actually, the TOS explicitly prohibits one person to own multiple non-bot accounts:</p>
<blockquote>
<p class="no-indent">
One person or legal entity may maintain no more than one free Account (if you choose to control a machine account as well, that’s fine, but it can only be used for running a machine).
</p>
</blockquote>
<p class="no-indent">
Therefore, it is still a violation of TOS to create a new account just for the course. People may argue that GitHub will not know whether different accounts are owned by the same person, but the answer is it will know if it really wants to know. Also, even if it does not ban the account for this reason, it is still possible for GitHub support to ignore the tickets filed by the account owner because his violation of the TOS. There are actually multiple real-life cases of this.
</p>
<p>What is worse is that the students do not have a proper way to defend against this. The most likely case that will happen is that all the students are not familiar enough with the TOS to discover that the instructors are forcing them to violate the TOS. The consequences of the violation may only appear long after they are out of the course or even long after they graduate. There is no way they can trace back to the instructors and ask them to take responsibility for the harm they have caused. Even if there is a student that discovers the potential problem in violating the TOS and sends an email to the instructors to ask for a change in the policy of the course, it is still up to the instructors to decide whether they are actually going to do that. If they are, it is good, but if they are not, there is no place for the student to appeal to. GitHub will not care about this because the account owner takes all the responsibility in the issues related to his account. The school will not care about this because the course is still “fair” for the students. Other students will not care about this because most of them are not going to heavily use their GitHub accounts after the course or after they graduate.</p>
<p>After saying so much about the consequences of the instructors forcing students to violate the TOS, what are the TOS that may be violated? The first one is the one mentioned above: multiple accounts. Instructors may tell students to create a new account just for the course, or they may tell students to do so if they do not feel comfortable using their existing personal account for the course, due to ignoring or not knowing that this is a violation of the TOS.</p>
<p>Another TOS that may be violated is the one that enforces the right for GitHub users to fork public repositories. The instructors may tell students to comply with academic integrity codes by stating that the work done in the repo must not be “plagiarized”. However, not only is this not enforceable, but it also violates the TOS of GitHub because any public repository grants the right for other GitHub users to freely use and create their own copies:</p>
<blockquote>
<p class="no-indent">
If you set your pages and repositories to be viewed publicly, you grant each User of GitHub a nonexclusive, worldwide license to use, display, and perform Your Content through the GitHub Service and to reproduce Your Content solely on GitHub as permitted through GitHub’s functionality (for example, through forking).
</p>
</blockquote>
<p class="no-indent">
While this can be circumvented by making the repositories private, many instructors do not allow using private repositories for homework for some reasons. Maybe they do not want to bother managing the access permissions to many students’ private repositories, or maybe they are only coping with the academic integrity codes without actually enforcing it.
</p>
<hr />
<p>Besides violation of the TOS, the instructors may also be <strong>forcing students to do harm to their own</strong>. One example is that some instructors force the names of the repositories that students create for homework, and the repositories must be under the account of the student (so no designated GitHub organization for that). However, the names of the repositories under the same account must be unique, which means that students may have to delete or rename their old repositories. This definitely is doing harm to the account as well as the community because it breaks the links to the old repositories, and students have to do this because their grades are at stake.</p>
<p>Another harm that using GitHub for schoolwork can cause is the privacy issue. If the repositories are public, people can see the work of the students and infer school information from them. If the repositories are private, people can still see when the repositories are created and updated, which may be enough to infer school information. Because the GitHub account is also used by the student to communicate with other people in the open-source community on the internet, the partial disclosure of these information may cause harm to the student by enabling others to identify his real-life identity.</p>
<p>Another harm is that the school activities may be “polluting” the GitHub account activities and thus affecting the students’ reputation in the community. Some people may be following the account because they are interested in the work of the student, but if the student starts using the account for schoolwork, the account activities will be filled with schoolwork activities for some time, which may not be the things that the student may want to show to the followers. This may cause the followers to unfollow the account. It is similar to the situation where the instructors ask students to upload public videos using their personal YouTube accounts for schoolwork, which can do harm to the students if they are already popular YouTubers. However, YouTube actually allows one account to have multiple channels, so that does not have negative effects like GitHub.</p>
<hr />
<p>The third reason why GitHub is not suitable for submitting school homework is that the school has no control over the service. GitHub is also probably not receiving any money from the school to take the responsibility of providing the service for schoolwork purposes. Apparently, <strong>GitHub can refuse its service for any or no reason</strong>:</p>
<blockquote>
<p class="no-indent">
GitHub has the right to suspend or terminate your access to all or any part of the Website at any time, with or without cause, with or without notice, effective immediately. GitHub reserves the right to refuse service to anyone for any reason at any time.
</p>
</blockquote>
<p class="no-indent">
This means that students have to “pray” that GitHub will continue be reliable for them to keep using it for schoolwork. If GitHub decides to stop providing services for some students, their grades may get penalized because they cannot submit their homework, and this situation is definitely possible considering that the students may actually be violating the TOS of GitHub whether for the course or not. GitHub will not care about this because the account owner takes all the responsibility. The instructor or the school may not care about this because they may deem the students’ own fault to be the cause of the suspension of the service. There is simply no way for students to tackle this situation.
</p>
<p>This situation is very different from other third-party services, such as Google Workspace, Zoom Workplace, or Microsoft 365, because the school is actually paying for the service so that the providers are liable to provide the service.</p>
<p>There is indeed paid services provided by GitHub, though, such as GitHub Enterprise, which may actually be suitable for school contexts. However, the school is not motivated to pay for the service because the free services provided by GitHub are already enough for educational purposes.</p>
<hr />
<p>The fourth reason of not using GitHub for schoolwork is that Git and GitHub are just too difficult to use while being designed to be user-friendly. This causes an awkward situation: it does not worth a full course designated to teach Git and GitHub, but it would also have to take up a considerable part of a course to teach all the relevant best practices of Git and GitHub to students. This leads to the problem of <strong>students actually misusing Git and GitHub when learning it in school</strong> because instructors may not bother to spend time to teach them Git instead of teaching the actually relevant course materials. Not to mention that the instructors may intentionally tell students to follow bad practices because GitHub is missing on LMS (learning management system) features to conveniently suit schoolwork needs or because the instructors are simply not aware of better practices. It is also possible that the instructor just does not want to bother teaching those practicies because most students are not going to use Git and GitHub after the course or after they graduate.</p>
<p>One common bad practice that especially happens in school contexts is to use Git to manage frequently-updated binary files. While it is arguable whether Git should be used to manage binary files at all, it definitely causes resource waste to use Git to manage frequently-updated binary files because diffs on them can only be resolved if the old version mathces exactly. Also, in most cases, it is impossible to efficiently store the history version of binary files by storing deltas between versions. Another common bad practice is to include running results of the code in the repository. Instead, they should be produced by CI systems (e.g. GitHub Actions) and stored in the artifacts of the CI systems (e.g. GitHub releases or GitHub Packages). A worse common bad practice is that some instructors are just using GitHub as a file hosting service instead of a version control system. They may tell students to upload their homework as a zip file or tarball on GitHub, which is really confusing because you can actually download the tarball of a repository directly on GitHub. The list of bad practices can go on.</p>
<p>Some may argue that the problem of teaching bad practices can happen in any course besides those use GitHub for homework submission. Some incapable instructors may even teach false information in the course, which is just inevitable. However, the problem especially with GitHub is that GitHub is also the place where worldwide developers form the community, and a concensus on good practices is important for a community. Having students employ bad practices on GitHub may affect the atmosphere of the community and can also cause resource wasting from the perspective of GitHub the platform. This is different from usual academic situations because, in most academic situations, misusage can only propagate through paper publications and academic conferences, which are much more formal and have a much higher barrier of entry than GitHub.</p>
<hr />
<p>The final reason of not using GitHub for schoolwork is that <strong>GitHub is not a learning management system (LMS)</strong>. It lacks essential features that are needed for schoolwork.</p>
<p>There are existing LMS softwares that are designed to be used in school contexts, suited for material distribution, homework submission and collection, grading, communication, and so on, designed with the consideration of being used by the instructors, graders, students, and possibly other roles. There are even open-source ones that can actually be self-hosted by the school such as Canvas (I am a big fan of Canvas).</p>
<p>What is more devious is that, in order to use the workflow of the existing LMS, some instructors ask students to submit their homework in the LMS after they finish it on GitHub. Sometimes instructors ask students to submit a GitHub link in the LMS. While this may seem like a good idea, some instructors may ask students to submit wierd things such as a PDF consisting of screenshots of webpages on GitHub so that graders can annotate using the features shipped with the LMS. These are just inefficient ways of working around the limitations of the LMS and GitHub.</p>
<p>If the course needs to use GitHub for source version control, CI/CD, or other software development-related purposes, besides normal LMS features such as homework submission and grading, there is a LMS provided GitHub dedicated for that purpose called GitHub Classroom. Though it looks very promising, it seems rare for schools to actually use it, so I have never used it myself.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="misc" /><category term="github" /><category term="school" /><summary type="html"><![CDATA[It is common for school courses to require students to submit their homework using GitHub. However, this is usually a bad idea for several reasons, potentially including TOS violation, community degradation, and reliability.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2025-01-09-github-homework.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2025-01-09-github-homework.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[How to use JavaScript in GitHub Actions without committing <code>node_modules</code>]]></title><link href="https://ulysseszh.github.io/guide/2024/11/15/gh-action-modules.html" rel="alternate" type="text/html" title="How to use JavaScript in GitHub Actions without committing node_modules" /><published>2024-11-15T16:34:55-08:00</published><updated>2024-11-15T16:34:55-08:00</updated><id>https://ulysseszh.github.io/guide/2024/11/15/gh-action-modules</id><content type="html" xml:base="https://ulysseszh.github.io/guide/2024/11/15/gh-action-modules.html"><![CDATA[<p>I was creating my first GitHub Action (it is now working, which you can check out <a href="https://github.com/UlyssesZh/grs-action" target="_blank" rel="external">here</a>). I am familiar with JavaScript, so I chose to create a JavaScript action. According to the <a href="https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-javascript-action#commit-tag-and-push-your-action-to-github" target="_blank" rel="external">official documentation</a>, I need to do one of the following to make my JavaScript code correctly import 3rd-party modules:</p>
<ul>
<li>commit the <code>node_modules</code> to the repo, or</li>
<li>use <a href="https://github.com/vercel/ncc" target="_blank" rel="external">@vercel/ncc</a> to bundle everything into a single script.</li>
</ul>
<p class="no-indent">
I think both of these methods are not good practices. Especially, for my case, the way with @vercel/ncc is not feasible because some package uses <code>require</code>.
</p>
<p>The best way to handle this is to make GitHub cache and install all the dependencies for the user every time the action is run. This can be made possible by <a href="https://docs.github.com/en/actions/sharing-automations/creating-actions/creating-a-composite-action" target="_blank" rel="external">creating a composite action</a>. Here is a snippet in <code>action.yml</code>:</p>
<pre><code><span class="na">runs</span><span class="pi">:</span>
  <span class="na">using</span><span class="pi">:</span> <span class="s">composite</span>
  <span class="na">steps</span><span class="pi">:</span>
    <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">Setup Node.js</span>
      <span class="na">uses</span><span class="pi">:</span> <span class="s">actions/setup-node@v4</span>
      <span class="na">with</span><span class="pi">:</span>
        <span class="na">node-version</span><span class="pi">:</span> <span class="s1">'</span><span class="s">20'</span>

    <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">Get cache key and path</span>
      <span class="na">id</span><span class="pi">:</span> <span class="s">lock</span>
      <span class="na">run</span><span class="pi">:</span> <span class="pi">|</span>
        <span class="s">cd $GITHUB_ACTION_PATH</span>
        <span class="s">node &lt;&lt;'JAVASCRIPT'</span>
          <span class="s">const fs = require('fs');</span>
          <span class="s">const os = require('os');</span>
          <span class="s">const sha256 = require('crypto').createHash('sha256');</span>
          <span class="s">const hash = sha256.update(fs.readFileSync('package-lock.json')).digest('hex');</span>
          <span class="s">fs.appendFileSync(process.env.GITHUB_OUTPUT, `key=${os.platform()}-${os.arch()}-grs-modules-${hash}\n`);</span>
        <span class="s">JAVASCRIPT</span>
        <span class="s">modules=$(pwd)/node_modules</span>
        <span class="s">command -v cygpath &amp;&gt; /dev/null &amp;&amp; modules=$(cygpath -w $modules)</span>
        <span class="s">echo "modules=$modules" &gt;&gt; $GITHUB_OUTPUT</span>
        <span class="s">cat $GITHUB_OUTPUT</span>
        <span class="s">cd $GITHUB_WORKSPACE</span>
      <span class="na">shell</span><span class="pi">:</span> <span class="s">bash</span>

    <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">Restore cache</span>
      <span class="na">uses</span><span class="pi">:</span> <span class="s">actions/cache/restore@v4</span>
      <span class="na">id</span><span class="pi">:</span> <span class="s">cache-restore</span>
      <span class="na">with</span><span class="pi">:</span>
        <span class="na">path</span><span class="pi">:</span> <span class="s">${{ steps.lock.outputs.modules }}</span>
        <span class="na">key</span><span class="pi">:</span> <span class="s">${{ steps.lock.outputs.key }}</span>

    <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">CI</span>
      <span class="na">if</span><span class="pi">:</span> <span class="s">steps.cache-restore.outputs.cache-hit != 'true'</span>
      <span class="na">run</span><span class="pi">:</span> <span class="pi">|</span>
        <span class="s">cd $GITHUB_ACTION_PATH</span>
        <span class="s">npm ci</span>
        <span class="s">cd $GITHUB_WORKSPACE</span>
      <span class="na">shell</span><span class="pi">:</span> <span class="s">bash</span>

    <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">Save cache</span>
      <span class="na">if</span><span class="pi">:</span> <span class="s">steps.cache-restore.outputs.cache-hit != 'true'</span>
      <span class="na">uses</span><span class="pi">:</span> <span class="s">actions/cache/save@v4</span>
      <span class="na">with</span><span class="pi">:</span>
        <span class="na">path</span><span class="pi">:</span> <span class="s">${{ steps.lock.outputs.modules }}</span>
        <span class="na">key</span><span class="pi">:</span> <span class="s">${{ steps.lock.outputs.key }}</span>

    <span class="pi">-</span> <span class="na">name</span><span class="pi">:</span> <span class="s">Run</span>
      <span class="na">run</span><span class="pi">:</span> <span class="s">node $GITHUB_ACTION_PATH/index.js</span>
      <span class="na">shell</span><span class="pi">:</span> <span class="s">bash</span>
</code></pre>
<p>I manually use <code>actions/cache</code> to cache the <code>node_modules</code> directory although <code>actions/setup-node</code> has caching functionality. This is because it <a href="https://github.com/actions/setup-node/issues/819" target="_blank" rel="external">is not good yet</a>. Also, because <code>github.action_path</code> ends with <code>/./</code>, it can cause some problem due to the relative pathing. My workflow here works around those problems.</p>
<p>The hash in the cache key is calculated using JavaScript because there is no <code>sha256sum</code> command on macOS and Ubuntu runners.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="guide" /><category term="javascript" /><category term="github" /><summary type="html"><![CDATA[I was creating my first GitHub Action. According to the official documentation, I should commit the <code>node_modules</code> to the repo or generate a script that bundles the whole <code>node_modules</code> if I want to create a JavaScript action. I think this is not good practice, so I try to find another way: manually managing the caches for the dependencies in <code>node_modules</code>.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2024-11-15-gh-action-modules.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2024-11-15-gh-action-modules.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Some understanding of Grassmann numbers out of intuition]]></title><link href="https://ulysseszh.github.io/math/2024/10/10/grassmann-num.html" rel="alternate" type="text/html" title="Some understanding of Grassmann numbers out of intuition" /><published>2024-10-10T22:40:02-07:00</published><updated>2024-10-10T22:40:02-07:00</updated><id>https://ulysseszh.github.io/math/2024/10/10/grassmann-num</id><content type="html" xml:base="https://ulysseszh.github.io/math/2024/10/10/grassmann-num.html"><![CDATA[<p><em>This article (except the introduction and the afterwords) is my answer to one of the homework problems that I did when I took a quantum field theory course. The original problem asked to verify the formula for linear change of variables in integration. It was originally written on 2024-02-06.</em></p>
<hr />
<h2 data-label="0.1" id="introduction">Introduction</h2>
<p>Although Grassmann numbers are purely mathematical concept, but like most people, I was introduced to them in physics class. I then had the natural question: how to formally define Grassmann numbers? In a homework given by my professor of QFT course, I found that I had to answer the question to do a problem in the homework in a way that I am satisfied with.</p>
<h2 data-label="0.2" id="numbers">Numbers</h2>
<p>Let <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub><mo separator="true">,</mo><mo>+</mo><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{\mbb G_0,+}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><msub><mi mathvariant="double-struck">G</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>+</mo><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{\mbb G_1,+}</annotation></semantics></math></span> be two abelian groups such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub><mo>∩</mo><msub><mi mathvariant="double-struck">G</mi><mn>1</mn></msub><mo>=</mo><mrow><mo fence="true">{</mo><mn>0</mn><mo fence="true">}</mo></mrow></mrow><annotation encoding="application/x-tex">\mbb G_0\cap\mbb G_1=\B{0}</annotation></semantics></math></span>. For convenience, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi></mrow><annotation encoding="application/x-tex">k\in\bN</annotation></semantics></math></span>, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msub><mi mathvariant="double-struck">G</mi><mrow><mi>k</mi><mtext> </mtext><mo lspace="0.22em" rspace="0.22em"><mrow><mi mathvariant="normal">m</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">d</mi></mrow></mo><mtext> </mtext><mn>2</mn></mrow></msub></mrow><annotation encoding="application/x-tex">\mbb G_k\ceq\mbb G_{k\bmod2}</annotation></semantics></math></span>. Define a multiplication on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub><mo>∪</mo><msub><mi mathvariant="double-struck">G</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0\cup\mbb G_1</annotation></semantics></math></span> such that</p>
<ul>
<li>multiplication is associative, non-degenerate, and distributive over addition;</li>
<li><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span> are <dfn>commuting numbers</dfn> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_1</annotation></semantics></math></span> are <dfn>anticommuting numbers</dfn>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><msub><mi>ψ</mi><mn>1</mn></msub><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><msub><mi>k</mi><mn>1</mn></msub></msub><mo separator="true">,</mo><msub><mi>ψ</mi><mn>2</mn></msub><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><msub><mi>k</mi><mn>2</mn></msub></msub><mo>:</mo><msub><mi>ψ</mi><mn>1</mn></msub><msub><mi>ψ</mi><mn>2</mn></msub><mo>=</mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mo fence="true">)</mo></mrow><mrow><msub><mi>k</mi><mn>1</mn></msub><msub><mi>k</mi><mn>2</mn></msub></mrow></msup><msub><mi>ψ</mi><mn>2</mn></msub><msub><mi>ψ</mi><mn>1</mn></msub><mo separator="true">;</mo></mrow><annotation encoding="application/x-tex">\forall\psi_1\in\mbb G_{k_1},\psi_2\in\mbb G_{k_2}:
\psi_1\psi_2=\p{-}^{k_1k_2}\psi_2\psi_1;</annotation></semantics></math></span></li>
<li>and there is a unity <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">1\in\mbb G_0</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>+</mo><mo>⋯</mo><mo>+</mo><mn>1</mn><mo mathvariant="normal">≠</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">1+\cdots+1\ne0</annotation></semantics></math></span> for any finite number of summands.</li>
</ul>
<p class="no-indent">
We then have to have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><msub><mi>ψ</mi><mn>1</mn></msub><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><msub><mi>k</mi><mn>1</mn></msub></msub><mo separator="true">,</mo><msub><mi>ψ</mi><mn>2</mn></msub><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><msub><mi>k</mi><mn>2</mn></msub></msub><mo>:</mo><msub><mi>ψ</mi><mn>1</mn></msub><msub><mi>ψ</mi><mn>2</mn></msub><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mrow><msub><mi>k</mi><mn>1</mn></msub><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub></mrow></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall\psi_1\in\mbb G_{k_1},\psi_2\in\mbb G_{k_2}:
\psi_1\psi_2\in\mbb G_{k_1+k_2}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span> is a commutative ring with characteristic zero, and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_1</annotation></semantics></math></span> is a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span>-module. We can then define linear functions with this structure. In this sense, the multiplication on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_1</annotation></semantics></math></span> defines a symplectic bilinear form.
</p>
<p>These are not enough to define every property we need for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_1</annotation></semantics></math></span>. I will introduce more properties as axioms later.</p>
<h2 data-label="0.3" id="tensors">Tensors</h2>
<p>It seems that we need this property as an axiom: for any linear function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mspace></mspace><mspace width="0.1111em"/><mo lspace="0em" rspace="0.17em"></mo><mtext> ⁣</mtext><mo lspace="0em" rspace="0em">:</mo><mspace width="0.3333em"/><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub><mo>→</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\func\lmd{\mbb G_k}{\mbb G_0}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∃</mi><mo stretchy="false">!</mo><mi>φ</mi><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub><mo>:</mo><mi>λ</mi><mo>=</mo><mrow><mo fence="true">(</mo><mi>ψ</mi><mo>↦</mo><mi>φ</mi><mi>ψ</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\exists!\vphi\in\mbb G_k:\lmd=\p{\psi\mapsto\vphi\psi}.</annotation></semantics></math></span> I call this property the <dfn>first representation property</dfn>, analog to the Riez representation theorem. I will call linear functions that maps objects to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span> <dfn>linear functionals</dfn>, and the <dfn>dual space</dfn> of a <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span>-module as the set of all linear functionals on it.</p>
<p>With the fist representation property, we can identify <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">\mbb G_k</annotation></semantics></math></span> with its dual space so that any <dfn>multilinear map (tensor)</dfn> have well-defined components. For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span>-linear map <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mspace></mspace><mspace width="0.1111em"/><mo lspace="0em" rspace="0.17em"></mo><mtext> ⁣</mtext><mo lspace="0em" rspace="0em">:</mo><mspace width="0.3333em"/><msup><mrow><mo fence="true">(</mo><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup><mo fence="true">)</mo></mrow><mi>k</mi></msup><mo>→</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\func T{\p{\mbb G_1^n}^k}{\mbb G_0}</annotation></semantics></math></span> (or alternatively called a rank-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span> tensor on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_1^n</annotation></semantics></math></span>), we can write it uniquely in the form <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>T</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>ψ</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>ψ</mi><mi>k</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>ψ</mi><mrow><mn>1</mn><msub><mi>i</mi><mn>1</mn></msub></mrow></msub><mo>⋯</mo><msub><mi>ψ</mi><mrow><mi>k</mi><msub><mi>i</mi><mi>k</mi></msub></mrow></msub><msub><mi>a</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow></msub><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc T{\psi_1,\dots,\psi_k}=\psi_{1i_1}\cdots\psi_{ki_k}a_{i_1\cdots i_k},</annotation></semantics></math></span> where the components <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>T</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow></msub><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">T_{i_1\cdots i_k}\in\mbb G_k</annotation></semantics></math></span>, and the dummy indices are summed from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>. Denote the set of all rank-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span> tensors on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_1^n</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mi>k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_1^{nk}</annotation></semantics></math></span>.</p>
<p>Similarly, we can define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span>-linear maps <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mspace></mspace><mspace width="0.1111em"/><mo lspace="0em" rspace="0.17em"></mo><mtext> ⁣</mtext><mo lspace="0em" rspace="0em">:</mo><mspace width="0.3333em"/><msup><mrow><mo fence="true">(</mo><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mi>n</mi></msubsup><mo fence="true">)</mo></mrow><mi>k</mi></msup><mo>→</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\func T{\p{\mbb G_0^n}^k}{\mbb G_0}</annotation></semantics></math></span> (or rank-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span> tensors on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_0^n</annotation></semantics></math></span>), whose components are in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span>, and denote the set of all of them as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>0</mn><mrow><mi>n</mi><mi>k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_0^{nk}</annotation></semantics></math></span>. Tensors from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>0</mn><mrow><mi>n</mi><mi>k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_0^{nk}</annotation></semantics></math></span> and those from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mi>k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_1^{nk}</annotation></semantics></math></span> can be multiplied and contracted together without any problems. However, the result of these operations may not be in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>0</mn><mrow><mi>n</mi><mi>k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_0^{nk}</annotation></semantics></math></span> or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mi>k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_1^{nk}</annotation></semantics></math></span>, but some tensor that takes arguments from both <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_0^n</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_1^n</annotation></semantics></math></span>.</p>
<h2 data-label="0.4" id="linear-endomorphisms">Linear endomorphisms</h2>
<p>Here we will need another property as an axiom: for any linear function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mspace></mspace><mspace width="0.1111em"/><mo lspace="0em" rspace="0.17em"></mo><mtext> ⁣</mtext><mo lspace="0em" rspace="0em">:</mo><mspace width="0.3333em"/><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub><mo>→</mo><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">\func\lmd{\mbb G_k}{\mbb G_k}</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∃</mi><mo stretchy="false">!</mo><mi>φ</mi><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub><mo>:</mo><mi>λ</mi><mo>=</mo><mrow><mo fence="true">(</mo><mi>ψ</mi><mo>↦</mo><mi>φ</mi><mi>ψ</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\exists!\vphi\in\mbb G_0:\lmd=\p{\psi\mapsto\vphi\psi}.</annotation></semantics></math></span> I call this property the <dfn>second representation property</dfn>. This is very similar to the first representation property, but it covers linear endomorphisms on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">\mbb G_k</annotation></semantics></math></span> instead of linear functionals on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">\mbb G_k</annotation></semantics></math></span>.</p>
<p>With the second representation property, we can prove that any possible linear endomorphism <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi></mrow><annotation encoding="application/x-tex">J</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mi>k</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_k^n</annotation></semantics></math></span> can be written as a unique matrix in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mrow><mi>n</mi><mo>×</mo><mi>n</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_0^{n\times n}</annotation></semantics></math></span> acting on the components of the argument: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>J</mi><mtext> ⁣</mtext><msub><mrow><mo fence="true">(</mo><mi>ψ</mi><mo fence="true">)</mo></mrow><mi>i</mi></msub><mo>=</mo><msub><mi>J</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>ψ</mi><mi>j</mi></msub><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc J\psi_i=J_{ij}\psi_j,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>J</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">J_{ij}\in\mbb G_0</annotation></semantics></math></span> are called the components of the linear endomorphism <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi></mrow><annotation encoding="application/x-tex">J</annotation></semantics></math></span>. From now on, we do not need to distinguish between matrices in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mrow><mi>n</mi><mo>×</mo><mi>n</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_0^{n\times n}</annotation></semantics></math></span> and linear endomorphisms on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mi>k</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_k^n</annotation></semantics></math></span>.</p>
<p>For a matrix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mo>∈</mo><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mrow><mi>n</mi><mo>×</mo><mi>n</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">J\in\mbb G_0^{n\times n}</annotation></semantics></math></span>, we can define its determinant as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>det</mi><mo>⁡</mo><mi>J</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>J</mi><mrow><mn>1</mn><msub><mi>i</mi><mn>1</mn></msub></mrow></msub><mo>⋯</mo><msub><mi>J</mi><mrow><mi>n</mi><msub><mi>i</mi><mi>n</mi></msub></mrow></msub><msubsup><mi>ε</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\det J\ceq J_{1i_1}\cdots J_{ni_n}\veps^{\b n}_{i_1\cdots i_n}\in\mbb G_0,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>ε</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup><mo>∈</mo><msubsup><mi mathvariant="script">T</mi><mn>0</mn><mrow><mi>n</mi><mi>n</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">\veps^{\b n}\in\mcal T_0^{nn}</annotation></semantics></math></span> is the Levi-Civita symbol, which is a completely antisymmetric tensor on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_0^n</annotation></semantics></math></span> whose components take values in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">{</mo><mo>−</mo><mn>1</mn><mo separator="true">,</mo><mn>0</mn><mo separator="true">,</mo><mn>1</mn><mo fence="true">}</mo></mrow><mo>⊂</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\B{-1,0,1}\subset\mbb G_0</annotation></semantics></math></span>.</p>
<h2 data-label="0.5" id="analytic-functions">Analytic functions</h2>
<p>For any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo>∈</mo><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mi>k</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">T\in\mcal T_1^{nk}</annotation></semantics></math></span>, define a degree-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span> <dfn>monomial</dfn> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_1^n</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>M</mi><mi>T</mi></msub><mspace></mspace><mspace width="0.1111em"/><mo lspace="0em" rspace="0.17em"></mo><mtext> ⁣</mtext><mo lspace="0em" rspace="0em">:</mo><mspace width="0.3333em"/><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup><mo>→</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub><mo separator="true">,</mo><mspace width="1em"/><mi>ψ</mi><mo>⟼</mo><mi>T</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ψ</mi><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><mi>ψ</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\vfunc{M_T}{\mbb G_1^n}{\mbb G_0}{\psi}{\fc T{\psi,\dots,\psi}},</annotation></semantics></math></span> which is a degree-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span> homogeneous function on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_1^n</annotation></semantics></math></span>. Note that different tensors may correspond to the same monomial. Especially, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>&gt;</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">k&gt;n</annotation></semantics></math></span>, a degree-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span> monomial must be trivial (send any input to zero). Also, if there is any pair of indices such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> is symmetric in exchanging them, then the monomial <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>M</mi><mi>T</mi></msub></mrow><annotation encoding="application/x-tex">M_T</annotation></semantics></math></span> must be trivial. Therefore, we only need to consider the those completely antisymmetric tensors when studying monomials. Denote the set of all completely antisymmetric rank-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span> tensors on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_1^n</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_1^{n\b k}</annotation></semantics></math></span>, and then the fact that we only need antisymmetric tensors to define monomials can be written as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>M</mi><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></mrow></msubsup></msub><mo>=</mo><msub><mi>M</mi><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mi>k</mi></mrow></msubsup></msub></mrow><annotation encoding="application/x-tex">M_{\mcal T_1^{n\b k}}=M_{\mcal T_1^{nk}}</annotation></semantics></math></span>.</p>
<p>An <dfn>analytic function</dfn> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi></mrow><annotation encoding="application/x-tex">f</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_1^n</annotation></semantics></math></span> is defined as a sum of monomials: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mspace></mspace><mspace width="0.1111em"/><mo lspace="0em" rspace="0.17em"></mo><mtext> ⁣</mtext><mo lspace="0em" rspace="0em">:</mo><mspace width="0.3333em"/><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup><mo>→</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub><mo separator="true">,</mo><mspace width="1em"/><mi>ψ</mi><mo>⟼</mo><munder><mo>∑</mo><mi>k</mi></munder><msub><mi>M</mi><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ψ</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\vfunc f{\mbb G_1^n}{\mbb G_0}\psi{\sum_k \fc{M_{T^{\b k}}}\psi},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup><mo>∈</mo><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></mrow></msubsup></mrow><annotation encoding="application/x-tex">T^{\b k}\in\mcal T_1^{n\b k}</annotation></semantics></math></span>, whose components may be referred to as <dfn>expansion coefficients</dfn>. We do not need to worry about the convergence because this is a finite sum (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>≤</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">k\le n</annotation></semantics></math></span>). Denote the set of all analytic functions on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_1^n</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="script">A</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">\mcal A_n</annotation></semantics></math></span>.</p>
<p>Two properties of analytic functions:</p>
<ul>
<li>If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi mathvariant="script">A</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">f\in\mcal A_n</annotation></semantics></math></span>, then for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>δ</mi><mo>∈</mo><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\dlt\in\mbb G_1^n</annotation></semantics></math></span>, the translation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">(</mo><mi>ψ</mi><mo>↦</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ψ</mi><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>∈</mo><msub><mi mathvariant="script">A</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">\p{\psi\mapsto\fc f{\psi+\dlt}}\in\mcal A_n</annotation></semantics></math></span>.</li>
<li>If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi mathvariant="script">A</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">f\in\mcal A_n</annotation></semantics></math></span>, then for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mo>∈</mo><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mrow><mi>n</mi><mo>×</mo><mi>n</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">J\in\mbb G_0^{n\times n}</annotation></semantics></math></span>, the linear transformation in the argument <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∘</mo><mi>J</mi><mo>∈</mo><msub><mi mathvariant="script">A</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">f\circ J\in\mcal A_n</annotation></semantics></math></span>.</li>
</ul>
<h2 data-label="0.6" id="integrals">Integrals</h2>
<p>Now we define that a linear function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∫</mo><mo>:</mo><msub><mi mathvariant="script">A</mi><mi>n</mi></msub><mo>→</mo><msub><mi mathvariant="double-struck">G</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">\int:\mcal A_n\to\mbb G_n</annotation></semantics></math></span> is called an <dfn>integral</dfn> if it satisfies the following property: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>f</mi><mo>∈</mo><msub><mi mathvariant="script">A</mi><mi>n</mi></msub><mo separator="true">,</mo><mi>δ</mi><mo>∈</mo><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup><mo>:</mo><mo>∫</mo><mi>f</mi><mo>=</mo><mo>∫</mo><mi>ψ</mi><mo>↦</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ψ</mi><mo>+</mo><mi>δ</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\forall f\in\mcal A_n,\dlt\in\mbb G_1^n:\int f=\int\psi\mapsto\fc f{\psi+\dlt},</annotation></semantics></math></span> which intuitively means that an integral is invariant under translation.</p>
<p>With this definition of an integral, we are now interested in the most general form of an integral.</p>
<p>Because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∫</mo></mrow><annotation encoding="application/x-tex">\int</annotation></semantics></math></span> is linear, we can find its form on monomials, and then sum them up to get the form on all analytic functions. As a linear function on monomials, it must be of the form (by the second representation property) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo>∫</mo><msub><mi>M</mi><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup></msub><mo>=</mo><msubsup><mi>c</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup><msubsup><mi>T</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\int M_{T^{\b k}}=c^{\b k}_{i_1\cdots i_k}T^{\b k}_{i_1\cdots i_k},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup><mo>∈</mo><msubsup><mi mathvariant="script">T</mi><mn>0</mn><mrow><mi>n</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></mrow></msubsup></mrow><annotation encoding="application/x-tex">c^{\b k}\in\mcal T_0^{n\b k}</annotation></semantics></math></span> does not depend on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">T^{\b k}</annotation></semantics></math></span>. Plug this form into the translational invariance of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∫</mo></mrow><annotation encoding="application/x-tex">\int</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><msubsup><mi>c</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup><msubsup><mi>T</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>∫</mo><mi>ψ</mi><mo>↦</mo><mrow><mo fence="true">(</mo><msub><mi>ψ</mi><msub><mi>i</mi><mn>1</mn></msub></msub><mo>+</mo><msub><mi>δ</mi><msub><mi>i</mi><mn>1</mn></msub></msub><mo fence="true">)</mo></mrow><mo>⋯</mo><mrow><mo fence="true">(</mo><msub><mi>ψ</mi><msub><mi>i</mi><mi>k</mi></msub></msub><mo>+</mo><msub><mi>δ</mi><msub><mi>i</mi><mi>k</mi></msub></msub><mo fence="true">)</mo></mrow><msubsup><mi>T</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>∫</mo><mi>ψ</mi><mo>↦</mo><munder><mo>∑</mo><mi>l</mi></munder><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mi>k</mi><mi>l</mi></mfrac><mo fence="true">)</mo></mrow><msub><mi>ψ</mi><msub><mi>i</mi><mn>1</mn></msub></msub><mo>⋯</mo><msub><mi>ψ</mi><msub><mi>i</mi><mi>l</mi></msub></msub><msub><mi>δ</mi><msub><mi>i</mi><mrow><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub></msub><mo>⋯</mo><msub><mi>δ</mi><msub><mi>i</mi><mi>k</mi></msub></msub><msubsup><mi>T</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munder><mo>∑</mo><mi>l</mi></munder><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mi>k</mi><mi>l</mi></mfrac><mo fence="true">)</mo></mrow><msubsup><mi>c</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>l</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>l</mi><mo fence="true">]</mo></mrow></msubsup><msub><mi>δ</mi><msub><mi>i</mi><mrow><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub></msub><mo>⋯</mo><msub><mi>δ</mi><msub><mi>i</mi><mi>k</mi></msub></msub><msubsup><mi>T</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	c_{i_1\cdots i_k}^{\b k}T^{\b k}_{i_1\cdots i_k}
	&amp;=\int\psi\mapsto\p{\psi_{i_1}+\dlt_{i_1}}\cdots\p{\psi_{i_k}+\dlt_{i_k}}T^{\b k}_{i_1\cdots i_k}\\
	&amp;=\int\psi\mapsto\sum_l\binom kl\psi_{i_1}\cdots\psi_{i_l}
	\dlt_{i_{l+1}}\cdots\dlt_{i_k}T^{\b k}_{i_1\cdots i_k}\\
	&amp;=\sum_l\binom kl c^{\b l}_{i_1\cdots i_l}\dlt_{i_{l+1}}\cdots\dlt_{i_k}T^{\b k}_{i_1\cdots i_k}
\end{align*}</annotation></semantics></math></span> (here the binomial coefficient should be regarded as its image under the natural ring homomorphism from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">Z</mi></mrow><annotation encoding="application/x-tex">\bZ</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span>, which must be non-zero because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span> has characteristic zero). Regarding <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">T^{\b k}</annotation></semantics></math></span> as the independent variable, this equation is a homogeneous linear equation <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>L</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup><mo fence="true">)</mo></mrow><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\fc{L^{\b k}}{T^{\b k}}=0</annotation></semantics></math></span> associated with the linear operator <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span> on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_1^{n\b k}</annotation></semantics></math></span> defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>L</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mi>c</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup><mo>−</mo><munder><mo>∑</mo><mi>l</mi></munder><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mi>k</mi><mi>l</mi></mfrac><mo fence="true">)</mo></mrow><msubsup><mi>c</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>l</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>l</mi><mo fence="true">]</mo></mrow></msubsup><msub><mi>δ</mi><msub><mi>i</mi><mrow><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub></msub><mo>⋯</mo><msub><mi>δ</mi><msub><mi>i</mi><mi>k</mi></msub></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">L^{\b k}_{i_1\cdots i_k}\ceq
c^{\b k}_{i_1\cdots i_k}-\sum_l\binom kl c^{\b l}_{i_1\cdots i_l}\dlt_{i_{l+1}}\cdots\dlt_{i_k}.</annotation></semantics></math></span> For the solution set of the linear equation to be the whole space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mn>1</mn><mrow><mi>n</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></mrow></msubsup></mrow><annotation encoding="application/x-tex">\mcal T_1^{n\b k}</annotation></semantics></math></span>, we need <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>L</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">L^{\b k}=0</annotation></semantics></math></span>. Again by the second representation property, we need all the components to vanish (strictly speaking, we need the completely antisymmetric part to vanish, but they are already completely antisymmetric): <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>k</mi><mo>≤</mo><mi>n</mi><mo separator="true">,</mo><mi>δ</mi><mo>∈</mo><msubsup><mi mathvariant="double-struck">G</mi><mn>1</mn><mi>n</mi></msubsup><mo separator="true">,</mo><msub><mi>i</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>i</mi><mi>k</mi></msub><mo>:</mo><msubsup><mi>c</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>k</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msubsup><mo>−</mo><munder><mo>∑</mo><mi>l</mi></munder><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mi>k</mi><mi>l</mi></mfrac><mo fence="true">)</mo></mrow><msubsup><mi>c</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>l</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>l</mi><mo fence="true">]</mo></mrow></msubsup><msub><mi>δ</mi><msub><mi>i</mi><mrow><mi>l</mi><mo>+</mo><mn>1</mn></mrow></msub></msub><mo>⋯</mo><msub><mi>δ</mi><msub><mi>i</mi><mi>k</mi></msub></msub><mo>=</mo><mn>0.</mn></mrow><annotation encoding="application/x-tex">\forall k\le n,\dlt\in\mbb G_1^n,i_1,\dots,i_k:
c^{\b k}_{i_1\cdots i_k}-\sum_l\binom kl c^{\b l}_{i_1\cdots i_l}\dlt_{i_{l+1}}\cdots\dlt_{i_k}=0.</annotation></semantics></math></span> The first term cancels with the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mo>=</mo><mi>k</mi></mrow><annotation encoding="application/x-tex">l=k</annotation></semantics></math></span> term in the sum, so this equation does not impose any requirement for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">c^{\b k}</annotation></semantics></math></span> but only impose requirements for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mi>l</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">c^{\b l}</annotation></semantics></math></span> with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mo>&lt;</mo><mi>k</mi></mrow><annotation encoding="application/x-tex">l&lt;k</annotation></semantics></math></span>. Then, we can induce on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span>: the equation for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">k=0</annotation></semantics></math></span> does nothing; the equation for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">k=1</annotation></semantics></math></span> requires <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mn>0</mn><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">c^{\b 0}</annotation></semantics></math></span> to vanish; the equation for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">k=2</annotation></semantics></math></span>, given that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mn>0</mn><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">c^{\b 0}</annotation></semantics></math></span> vanishes, now requires <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mn>1</mn><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">c^{\b 1}</annotation></semantics></math></span> to vanish; and so on. For each <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span>, the equation additionally requires <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo>−</mo><mn>1</mn><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">c^{\b{k-1}}</annotation></semantics></math></span> to vanish. Finally, when we reach <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>=</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">k=n</annotation></semantics></math></span>, which is the end of the induction, we require <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mi>l</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">c^{\b l}</annotation></semantics></math></span> to vanish for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mo>&lt;</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">l&lt;n</annotation></semantics></math></span>, and there is no requirement for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>c</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">c^{\b n}</annotation></semantics></math></span>. Therefore, the integral of any monomial is zero except for the degree-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> monomial, and thus we only need to consider the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>th degree term when finding the integral of an analytic function.</p>
<p>Note that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="script">T</mi><mi>k</mi><mrow><mi>n</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></mrow></msubsup><mo>=</mo><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub><msup><mi>ε</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\mcal T_k^{n\b n}=\mbb G_k\veps^{\b n}</annotation></semantics></math></span> (in other words, the most general form of a completely antisymmetric rank-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> tensor on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mi>k</mi><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_k^n</annotation></semantics></math></span> is a constant in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">\mbb G_k</annotation></semantics></math></span> times the Levi-Civita symbol). Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msubsup><mi>c</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mo>=</mo><msub><mi>c</mi><mi>n</mi></msub><msubsup><mi>ε</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mo separator="true">,</mo><mspace width="1em"/><msubsup><mi>T</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mo>=</mo><mi>d</mi><msubsup><mi>ε</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">c^{\b n}_{i_1\cdots i_n}=c_n\veps^{\b n}_{i_1\cdots i_n},
\quad T^{\b n}_{i_1\cdots i_n}=d\veps^{\b n}_{i_1\cdots i_n},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mi>n</mi></msub><mo>=</mo><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">c_n=\in\mbb G_0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>∈</mo><msub><mi mathvariant="double-struck">G</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">d\in\mbb G_n</annotation></semantics></math></span>. The definition of an integral does not impose any requirement for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">c_n</annotation></semantics></math></span>, so it can be any element in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span>. For convenience, define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>c</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn></mrow><annotation encoding="application/x-tex">c_n\ceq1</annotation></semantics></math></span> for all <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>, and then we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo>∫</mo><msub><mi>M</mi><mrow><mi>d</mi><msup><mi>ε</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup></mrow></msub><mo>=</mo><msubsup><mi>ε</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mi>d</mi><msubsup><mi>ε</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mo>=</mo><mi>n</mi><mo stretchy="false">!</mo><mtext> </mtext><mi>d</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\int M_{d\veps^{\b n}}=\veps^{\b n}_{i_1\cdots i_n}d\veps^{\b n}_{i_1\cdots i_n}
=n!\,d,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">n!</annotation></semantics></math></span> is the image of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo stretchy="false">!</mo></mrow><annotation encoding="application/x-tex">n!</annotation></semantics></math></span> under the natural ring homomorphism from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="double-struck">Z</mi></mrow><annotation encoding="application/x-tex">\bZ</annotation></semantics></math></span> to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi mathvariant="double-struck">G</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\mbb G_0</annotation></semantics></math></span>. The integral of any monomial with its degree different from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> is zero, so the integral of any analytic function is just that of its degree-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> term: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo>∫</mo><mi>ψ</mi><mo>↦</mo><munder><mo>∑</mo><mi>k</mi></munder><msub><mi>M</mi><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>k</mi><mo fence="true">]</mo></mrow></msup></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ψ</mi><mo fence="true">)</mo></mrow><mo>=</mo><mi>n</mi><mo stretchy="false">!</mo><mtext> </mtext><msubsup><mi>T</mi><mrow><mn>1</mn><mo>⋯</mo><mi>n</mi></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\int\psi\mapsto\sum_k \fc{M_{T^{\b k}}}\psi=n!\,T^{\b n}_{1\cdots n}.</annotation></semantics></math></span></p>
<h2 data-label="0.7" id="linear-change-of-integrated-variable">Linear change of integrated variable</h2>
<p>Now, for a linear endomorphism <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>J</mi><mo>∈</mo><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mrow><mi>n</mi><mo>×</mo><mi>n</mi></mrow></msubsup></mrow><annotation encoding="application/x-tex">J\in\mbb G_0^{n\times n}</annotation></semantics></math></span> and an analytic function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mo>∈</mo><msub><mi mathvariant="script">A</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">f\in\mcal A_n</annotation></semantics></math></span>, consider the integral <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∫</mo><mi>f</mi><mo>∘</mo><mi>J</mi></mrow><annotation encoding="application/x-tex">\int f\circ J</annotation></semantics></math></span>. We only needs to consider the degree-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> monomial term, which is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>M</mi><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ψ</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>J</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><msub><mi>j</mi><mn>1</mn></msub></mrow></msub><msub><mi>ψ</mi><msub><mi>j</mi><mn>1</mn></msub></msub><mo>⋯</mo><msub><mi>J</mi><mrow><msub><mi>i</mi><mi>n</mi></msub><msub><mi>j</mi><mi>n</mi></msub></mrow></msub><msub><mi>ψ</mi><msub><mi>j</mi><mi>n</mi></msub></msub><mi>d</mi><msubsup><mi>ε</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msubsup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc{M_{T^{\b n}}}{\fc J\psi}=J_{i_1j_1}\psi_{j_1}\cdots J_{i_nj_n}\psi_{j_n}d\veps^{\b n}_{i_1\cdots i_n},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup><mo>=</mo><mi>d</mi><msup><mi>ε</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">T^{\b n}=d\veps^{\b n}</annotation></semantics></math></span> is used. Notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>ε</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><mo>⋯</mo><msub><mi>i</mi><mi>n</mi></msub></mrow></msub><msub><mi>J</mi><mrow><msub><mi>i</mi><mn>1</mn></msub><msub><mi>j</mi><mn>1</mn></msub></mrow></msub><mo>⋯</mo><msub><mi>J</mi><mrow><msub><mi>i</mi><mi>n</mi></msub><msub><mi>j</mi><mi>n</mi></msub></mrow></msub></mrow><annotation encoding="application/x-tex">\veps_{i_1\cdots i_n}J_{i_1j_1}\cdots J_{i_nj_n}</annotation></semantics></math></span> itself is a rank-<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> completely antisymmetric tensor on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi mathvariant="double-struck">G</mi><mn>0</mn><mi>n</mi></msubsup></mrow><annotation encoding="application/x-tex">\mbb G_0^n</annotation></semantics></math></span>, so it can also be written as a constant times <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>ε</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\veps^{\b n}</annotation></semantics></math></span>. By letting <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>j</mi><mn>1</mn></msub><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msub><mi>j</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">j_1,\dots,j_n</annotation></semantics></math></span> be <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">1,\dots,n</annotation></semantics></math></span> respectively, we see that the constant is just <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>det</mi><mo>⁡</mo><mi>J</mi></mrow><annotation encoding="application/x-tex">\det J</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>M</mi><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>J</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ψ</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>M</mi><msup><mi>T</mi><mrow><mo fence="true">[</mo><mi>n</mi><mo fence="true">]</mo></mrow></msup></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>ψ</mi><mo fence="true">)</mo></mrow><mi>det</mi><mo>⁡</mo><mi>J</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{M_{T^{\b n}}}{\fc J\psi}=\fc{M_{T^{\b n}}}\psi\det J.</annotation></semantics></math></span> By the linearty of the integral, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">∀</mi><mi>f</mi><mo>∈</mo><msub><mi mathvariant="script">A</mi><mi>n</mi></msub><mo>:</mo><mo>∫</mo><mi>f</mi><mo>∘</mo><mi>J</mi><mo>=</mo><mi>det</mi><mo>⁡</mo><mi>J</mi><mo>∫</mo><mi>f</mi><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\forall f\in\mcal A_n:\int f\circ J=\det J\int f.</annotation></semantics></math></span></p>
<h2 data-label="0.8" id="afterwords">Afterwords</h2>
<p>Actually, before I wrote my answer, I already know the exterior algebra. In this article, my definition to Grassmann numbers is more abstract and puts the commuting numbers and anticomuuting numbers in more equal footings. This definition is closer to what I intuitively think Grassmann numbers could be.</p>
<p>There are several potential problems in this article:</p>
<ul>
<li>Some axioms are given, but I did not prove that they are consistent.</li>
<li>Some claims are made without proof. They may turn out to be wrong.</li>
<li>I did not prove that the usual definition of Grassmann numbers (with exterior algebra) can be formulated as a special case of my definition.</li>
<li>I am not educated in supersymmetry, which is where Grassmann numbers are applied most. I only made my definition comply with the properties of Grassmann numbers that I have learned for doing the path integral of fermionic fields.</li>
</ul>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="math" /><category term="quantum field theory" /><category term="linear algebra" /><category term="abstract algebra" /><summary type="html"><![CDATA[I was briefly introduced to Grassmann numbers when I studied quantum field theory. I then had the natural question of how we can formally define them. In this article, I went with my intuition and tried to answer this question.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2024-10-10-grassmann-num.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2024-10-10-grassmann-num.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[The notational convenience of imaginary time in the derivation of the metric in Poincaré coordinates]]></title><link href="https://ulysseszh.github.io/physics/2024/09/10/poincare-coord-imag.html" rel="alternate" type="text/html" title="The notational convenience of imaginary time in the derivation of the metric in Poincaré coordinates" /><published>2024-09-10T14:19:33-07:00</published><updated>2024-09-10T14:19:33-07:00</updated><id>https://ulysseszh.github.io/physics/2024/09/10/poincare-coord-imag</id><content type="html" xml:base="https://ulysseszh.github.io/physics/2024/09/10/poincare-coord-imag.html"><![CDATA[<h2 data-label="0.1" id="introduction">Introduction</h2>
<p>There are two major conventions for the metric signature: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mo>+</mo><mo separator="true">,</mo><mo>−</mo><mo separator="true">,</mo><mo>−</mo><mo separator="true">,</mo><mo>−</mo><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{+,-,-,-}</annotation></semantics></math></span> (west coast) and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mo>−</mo><mo separator="true">,</mo><mo>+</mo><mo separator="true">,</mo><mo>+</mo><mo separator="true">,</mo><mo>+</mo><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{-,+,+,+}</annotation></semantics></math></span> (east coast). However, the first convention that I have met in my journey of learning physics is neither of them: the imaginary time. Shortly after, I started using the west coast convention, so I never really used the imaginary time convention seriously. I personally dislike the imaginary time convention, and so do most people in the physics community and history, which is why most modern textbooks use either the west coast or the east coast convention. One of my past physics teachers deemed the imaginary time convention to be a heresy (异端邪说).</p>
<figure>
<img src="/assets/images/figures/2024-09-10-poincare-coord-imag/heresy.jpg" alt="The teacher’s writing" />
<figcaption aria-hidden="true">The teacher’s writing</figcaption>
</figure>
<p>However, in some cases, the imaginary time convention can be convenient due to the use of multi-index notation (which is more concise and feature-rich than the Einstein notation). Here is one of such cases: the derivation of the metric in Poincaré coordinates for the anti-de Sitter space.</p>
<p>The <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi></mrow><annotation encoding="application/x-tex">d</annotation></semantics></math></span>-dimensional anti-de Sitter space <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi mathvariant="normal">A</mi><mi mathvariant="normal">d</mi><mi mathvariant="normal">S</mi></mrow><mi>d</mi></msub></mrow><annotation encoding="application/x-tex">\mrm{AdS}_d</annotation></semantics></math></span> of scale <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi></mrow><annotation encoding="application/x-tex">l</annotation></semantics></math></span> is defined as the hyperboloid <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo>−</mo><msup><mi>l</mi><mn>2</mn></msup><mo>=</mo><mo>−</mo><msubsup><mi>T</mi><mn>1</mn><mn>2</mn></msubsup><mo>−</mo><msubsup><mi>T</mi><mn>2</mn><mn>2</mn></msubsup><mo>+</mo><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>d</mi><mo>−</mo><mn>1</mn></mrow></munderover><msup><mrow><mo fence="true">(</mo><msup><mi>X</mi><mi>i</mi></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">-l^2=-T_1^2-T_2^2+\sum_{i=1}^{d-1}\p{X^i}^2</annotation></semantics></math></span> in <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>M</mi><mrow><mi>d</mi><mo>−</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">M^{d-1,2}</annotation></semantics></math></span> (the analogue of the Minkowski space, but with signature <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>d</mi><mo>−</mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">d-1,2</annotation></semantics></math></span>). The Poincaré coordinates are defined as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left right" columnspacing="0em 1em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mi>z</mi></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mfrac><msup><mi>l</mi><mn>2</mn></msup><mrow><msub><mi>T</mi><mn>1</mn></msub><mo>+</mo><msup><mi>X</mi><mrow><mi>d</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mi>t</mi></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mrow><mi>l</mi><msub><mi>T</mi><mn>2</mn></msub></mrow><mrow><msub><mi>T</mi><mn>1</mn></msub><mo>+</mo><msup><mi>X</mi><mrow><mi>d</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><msup><mi>x</mi><mi>i</mi></msup></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mfrac><mrow><mi>l</mi><msup><mi>X</mi><mi>i</mi></msup></mrow><mrow><msub><mi>T</mi><mn>1</mn></msub><mo>+</mo><msup><mi>X</mi><mrow><mi>d</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow></mfrac><mo separator="true">,</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>i</mi><mo>=</mo><mn>1</mn><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><mi>d</mi><mo>−</mo><mn>2.</mn></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	z&amp;\ceq\fr{l^2}{T_1+X^{d-1}},\\
	t&amp;\ceq\fr{lT_2}{T_1+X^{d-1}},\\
	x^i&amp;\ceq\fr{lX^i}{T_1+X^{d-1}},&amp;i=1,\ldots,d-2.
\end{align*}</annotation></semantics></math></span></p>
<h2 data-label="0.2" id="the-derivation">The derivation</h2>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>T</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">T\ceq T_1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>X</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>X</mi><mrow><mi>d</mi><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">X\ceq X^{d-1}</annotation></semantics></math></span> just for fun. Then, define two <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>d</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{d-1}</annotation></semantics></math></span>-dimensional multi-indices <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>Y</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mi mathvariant="normal">i</mi><msub><mi>T</mi><mn>2</mn></msub><mo separator="true">,</mo><msup><mi>X</mi><mn>1</mn></msup><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msup><mi>X</mi><mrow><mi>d</mi><mo>−</mo><mn>2</mn></mrow></msup><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><mi>y</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><mi mathvariant="normal">i</mi><mi>t</mi><mo separator="true">,</mo><msup><mi>x</mi><mn>1</mn></msup><mo separator="true">,</mo><mo>…</mo><mo separator="true">,</mo><msup><mi>x</mi><mrow><mi>d</mi><mo>−</mo><mn>2</mn></mrow></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">Y\ceq\p{\i T_2,X^1,\ldots,X^{d-2}},\quad y\ceq\p{\i t,x^1,\ldots,x^{d-2}}.</annotation></semantics></math></span></p>
<p>The hyperboloid constraint and the metric (east coast convention) are then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msup><mi>X</mi><mn>2</mn></msup><mo>−</mo><msup><mi>T</mi><mn>2</mn></msup><mo>+</mo><msup><mi>Y</mi><mn>2</mn></msup><mo>=</mo><mo>−</mo><msup><mi>l</mi><mn>2</mn></msup><mo separator="true">,</mo><mspace width="1em"/><mi mathvariant="normal">d</mi><msup><mi>s</mi><mn>2</mn></msup><mo>=</mo><mi mathvariant="normal">d</mi><msup><mi>X</mi><mn>2</mn></msup><mo>−</mo><mi mathvariant="normal">d</mi><msup><mi>T</mi><mn>2</mn></msup><mo>+</mo><mi mathvariant="normal">d</mi><msup><mi>Y</mi><mn>2</mn></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">X^2-T^2+Y^2=-l^2,\quad \d s^2=\d X^2-\d T^2+\d Y^2,</annotation></semantics></math></span> which are equivalently <span id="eq:constraint-and-metric" data-label="(1)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">(</mo><mi>X</mi><mo>+</mo><mi>T</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mi>X</mi><mo>−</mo><mi>T</mi><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><msup><mi>l</mi><mn>2</mn></msup><mo>−</mo><msup><mi>Y</mi><mn>2</mn></msup><mo separator="true">,</mo><mspace width="1em"/><mi mathvariant="normal">d</mi><msup><mi>s</mi><mn>2</mn></msup><mo>=</mo><mrow><mo fence="true">(</mo><mi mathvariant="normal">d</mi><mi>X</mi><mo>+</mo><mi mathvariant="normal">d</mi><mi>T</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mi mathvariant="normal">d</mi><mi>X</mi><mo>−</mo><mi mathvariant="normal">d</mi><mi>T</mi><mo fence="true">)</mo></mrow><mo>+</mo><mi mathvariant="normal">d</mi><msup><mi>Y</mi><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\p{X+T}\p{X-T}=-l^2-Y^2,\quad\d s^2=\p{\d X+\d T}\p{\d X-\d T}+\d Y^2.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(1)</annotation></semantics></math></span></span> </span></span> The definition of the Poincaré coordinates can be written as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>z</mi><mo>=</mo><mfrac><msup><mi>l</mi><mn>2</mn></msup><mrow><mi>X</mi><mo>+</mo><mi>T</mi></mrow></mfrac><mo separator="true">,</mo><mspace width="1em"/><mi>y</mi><mo>=</mo><mfrac><mi>z</mi><mi>l</mi></mfrac><mi>Y</mi><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">z=\fr{l^2}{X+T},\quad y=\fr zlY,</annotation></semantics></math></span> or equivalently <span id="eq:poincare-coord" data-label="(2)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>X</mi><mo>+</mo><mi>T</mi><mo>=</mo><mfrac><msup><mi>l</mi><mn>2</mn></msup><mi>z</mi></mfrac><mo separator="true">,</mo><mspace width="1em"/><mi>Y</mi><mo>=</mo><mfrac><mrow><mi>l</mi><mi>y</mi></mrow><mi>z</mi></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">X+T=\fr{l^2}z,\quad Y=\fr{ly}z.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(2)</annotation></semantics></math></span></span> </span></span></p>
<p>Substitute Equation <a href="#eq:poincare-coord">2</a> into the first equation in Equation <a href="#eq:constraint-and-metric">1</a>. Then, we have <span id="eq:X-minus-T" data-label="(3)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>X</mi><mo>−</mo><mi>T</mi><mo>=</mo><mo>−</mo><mi>z</mi><mo>−</mo><mfrac><msup><mi>y</mi><mn>2</mn></msup><mi>z</mi></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">X-T=-z-\fr{y^2}z.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(3)</annotation></semantics></math></span></span> </span></span> Differentiate Equation <a href="#eq:poincare-coord">2</a> and <a href="#eq:X-minus-T">3</a>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">d</mi><mi>X</mi><mo>+</mo><mi mathvariant="normal">d</mi><mi>T</mi><mo>=</mo><mo>−</mo><mfrac><msup><mi>l</mi><mn>2</mn></msup><msup><mi>z</mi><mn>2</mn></msup></mfrac><mtext> </mtext><mi mathvariant="normal">d</mi><mi>z</mi><mo separator="true">,</mo><mspace width="1em"/><mi mathvariant="normal">d</mi><mi>X</mi><mo>−</mo><mi mathvariant="normal">d</mi><mi>T</mi><mo>=</mo><mo>−</mo><mi mathvariant="normal">d</mi><mi>z</mi><mo>+</mo><mfrac><msup><mi>y</mi><mn>2</mn></msup><msup><mi>z</mi><mn>2</mn></msup></mfrac><mtext> </mtext><mi mathvariant="normal">d</mi><mi>z</mi><mo>−</mo><mfrac><mrow><mn>2</mn><mi>y</mi></mrow><mi>z</mi></mfrac><mtext> </mtext><mi mathvariant="normal">d</mi><mi>y</mi><mo separator="true">,</mo><mspace width="1em"/><mi mathvariant="normal">d</mi><mi>Y</mi><mo>=</mo><mi>l</mi><mrow><mo fence="true">(</mo><mfrac><mrow><mi mathvariant="normal">d</mi><mi>y</mi></mrow><mi>z</mi></mfrac><mo>−</mo><mfrac><mi>y</mi><msup><mi>z</mi><mn>2</mn></msup></mfrac><mtext> </mtext><mi mathvariant="normal">d</mi><mi>z</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\d X+\d T=-\fr{l^2}{z^2}\,\d z,\quad
\d X-\d T=-\d z+\fr{y^2}{z^2}\,\d z-\fr{2y}z\,\d y,\quad
\d Y=l\p{\fr{\d y}z-\fr y{z^2}\,\d z}.</annotation></semantics></math></span> Substitute this into the second equation in Equation <a href="#eq:constraint-and-metric">1</a>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">d</mi><msup><mi>s</mi><mn>2</mn></msup><mo>=</mo><mo>−</mo><mfrac><msup><mi>l</mi><mn>2</mn></msup><msup><mi>z</mi><mn>2</mn></msup></mfrac><mi mathvariant="normal">d</mi><mi>z</mi><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">d</mi><mi>z</mi><mo>+</mo><mfrac><msup><mi>y</mi><mn>2</mn></msup><msup><mi>z</mi><mn>2</mn></msup></mfrac><mtext> </mtext><mi mathvariant="normal">d</mi><mi>z</mi><mo>−</mo><mfrac><mrow><mn>2</mn><mi>y</mi></mrow><mi>z</mi></mfrac><mtext> </mtext><mi mathvariant="normal">d</mi><mi>y</mi><mo fence="true">)</mo></mrow><mo>+</mo><msup><mi>l</mi><mn>2</mn></msup><msup><mrow><mo fence="true">(</mo><mfrac><mrow><mi mathvariant="normal">d</mi><mi>y</mi></mrow><mi>z</mi></mfrac><mo>−</mo><mfrac><mi>y</mi><msup><mi>z</mi><mn>2</mn></msup></mfrac><mtext> </mtext><mi mathvariant="normal">d</mi><mi>z</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>=</mo><mfrac><msup><mi>l</mi><mn>2</mn></msup><msup><mi>z</mi><mn>2</mn></msup></mfrac><mrow><mo fence="true">(</mo><mi mathvariant="normal">d</mi><msup><mi>y</mi><mn>2</mn></msup><mo>+</mo><mi mathvariant="normal">d</mi><msup><mi>z</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\d s^2=-\fr{l^2}{z^2}\d z\p{-\d z+\fr{y^2}{z^2}\,\d z-\fr{2y}z\,\d y}+l^2\p{\fr{\d y}z-\fr y{z^2}\,\d z}^2
=\fr{l^2}{z^2}\p{\d y^2+\d z^2}.</annotation></semantics></math></span></p>
<p>Finally, substitute back the definition of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>y</mi></mrow><annotation encoding="application/x-tex">y</annotation></semantics></math></span>, and we have the result <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">d</mi><msup><mi>s</mi><mn>2</mn></msup><mo>=</mo><mfrac><msup><mi>l</mi><mn>2</mn></msup><msup><mi>z</mi><mn>2</mn></msup></mfrac><mrow><mo fence="true">(</mo><mo>−</mo><mi mathvariant="normal">d</mi><msup><mi>t</mi><mn>2</mn></msup><mo>+</mo><munderover><mo>∑</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>d</mi><mo>−</mo><mn>2</mn></mrow></munderover><msup><mrow><mo fence="true">(</mo><mi mathvariant="normal">d</mi><msup><mi>x</mi><mi>i</mi></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><mi mathvariant="normal">d</mi><msup><mi>z</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\d s^2=\fr{l^2}{z^2}\p{-\d t^2+\sum_{i=1}^{d-2}\p{\d x^i}^2+\d z^2}.</annotation></semantics></math></span></p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="physics" /><category term="general relativity" /><category term="ads space" /><summary type="html"><![CDATA[In general relativity, people usually choose one of the two major metric signatures. However, in certain cases, the imaginary time convention can be more convenient. Here is one of such cases: the derivation of the metric in Poincaré coordinates for the anti-de Sitter space.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2024-09-10-poincare-coord-imag.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2024-09-10-poincare-coord-imag.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[The smallest wave packet in the lowest Landau level]]></title><link href="https://ulysseszh.github.io/physics/2024/07/01/landau-wave-packet.html" rel="alternate" type="text/html" title="The smallest wave packet in the lowest Landau level" /><published>2024-07-01T01:01:46-07:00</published><updated>2024-07-01T01:01:46-07:00</updated><id>https://ulysseszh.github.io/physics/2024/07/01/landau-wave-packet</id><content type="html" xml:base="https://ulysseszh.github.io/physics/2024/07/01/landau-wave-packet.html"><![CDATA[<h2 data-label="0.1" id="introduction">Introduction</h2>
<p>Exercise 12.5 from <em>Modern Condensed Matter Physics</em> (Girvin and Yang, 2019) asks to construct a Gaussian wave packet in the lowest Landau level in the Landau gauge, such that it is localized as closely as possible around some point <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold">R</mi><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">(</mo><msub><mi>R</mi><mi>x</mi></msub><mo separator="true">,</mo><msub><mi>R</mi><mi>y</mi></msub><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\mbf R\ceq\p{R_x,R_y}</annotation></semantics></math></span>.</p>
<p>Actually, we can prove that the smallest wave packet is a Gaussian wave packet. Here is the derivation.</p>
<h2 data-label="0.2" id="the-problem">The problem</h2>
<p>First, for readers who are not familiar with the <a href="https://en.wikipedia.org/wiki/Landau_levels#In_the_Landau_gauge" target="_blank" rel="external">Landau levels</a>, here is a brief introduction. For an electron confined in the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mi>y</mi></mrow><annotation encoding="application/x-tex">xy</annotation></semantics></math></span> plane under a magnetic field <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold">B</mi><mo>=</mo><mi>B</mi><mover accent="true"><mi mathvariant="bold-italic">z</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\mbf B=B\bhat z</annotation></semantics></math></span>, its Hamiltonian is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>H</mi><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msub><mi>m</mi><mi>e</mi></msub></mrow></mfrac><mrow><mo fence="true">(</mo><msubsup><mi>p</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msup><mrow><mo fence="true">(</mo><msub><mi>p</mi><mi>y</mi></msub><mo>−</mo><mfrac><mrow><mi>e</mi><mi>B</mi></mrow><mi>c</mi></mfrac><mi>x</mi><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">H=\fr1{2m_e}\p{p_x^2+\p{p_y-\fr{eB}cx}^2}</annotation></semantics></math></span> under the Landau gauge <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold">A</mi><mo>=</mo><mi>B</mi><mi>x</mi><mover accent="true"><mi mathvariant="bold-italic">y</mi><mo>^</mo></mover></mrow><annotation encoding="application/x-tex">\mbf A=Bx\bhat y</annotation></semantics></math></span>. Its eigenstates in the position representation are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>ψ</mi><mrow><mi>n</mi><mi>k</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>k</mi><mi>y</mi></mrow></msup><msub><mi>H</mi><mi>n</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>x</mi><mi>l</mi></mfrac><mo>−</mo><mi>k</mi><mi>l</mi><mo fence="true">)</mo></mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><mi>k</mi><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></msup></mrow><annotation encoding="application/x-tex">\fc{\psi_{nk}}{x,y}=\e^{\i ky}\fc{H_n}{\fr xl-kl}
\e^{-\p{x-kl^2}^2/2l^2}</annotation></semantics></math></span> labeled by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>∈</mo><mi mathvariant="double-struck">N</mi></mrow><annotation encoding="application/x-tex">n\in\bN</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">k\in\bR</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>H</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">H_n</annotation></semantics></math></span> is the Hermite polynomial of degree <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>l</mi><mo><mi mathvariant="normal">≔</mi></mo><msqrt><mrow><mi mathvariant="normal">ℏ</mi><mi>c</mi><mi mathvariant="normal">/</mi><mi>e</mi><mi>B</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">l\ceq\sqrt{\hbar c/eB}</annotation></semantics></math></span>. States with the same <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span> are degenerate in energy (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo>=</mo><mrow><mo fence="true">(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi mathvariant="normal">ℏ</mi><mi>e</mi><mi>B</mi><mi mathvariant="normal">/</mi><msub><mi>m</mi><mi>e</mi></msub><mi>c</mi></mrow><annotation encoding="application/x-tex">E_n=\p{n+1/2}\hbar eB/m_ec</annotation></semantics></math></span>) and make up the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>th Landau level. The Landau level with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">n=0</annotation></semantics></math></span> is called the lowest Landau level.</p>
<p>The problem, now, is this optimization problem: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><munder><mrow><mi>min</mi><mo>⁡</mo></mrow><msub><mi>a</mi><mi>k</mi></msub></munder><mspace width="1em"/></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow><mspace width="1em"/></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mn>1</mn><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>x</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><msub><mi>R</mi><mi>x</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>y</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><msub><mi>R</mi><mi>y</mi></msub></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	\min_{a_k}\quad&amp;\mel{\Psi}{x^2+y^2}{\Psi}\\
	\st\quad&amp;\braket{\Psi}{\Psi}=1,\\
	&amp;\mel{\Psi}{x}{\Psi}=R_x,\\
	&amp;\mel{\Psi}{y}{\Psi}=R_y
\end{align*}</annotation></semantics></math></span> (optimizing <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a{x^2+y^2}</annotation></semantics></math></span> is equivalent to optimizing <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>σ</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>σ</mi><mi>y</mi><mn>2</mn></msubsup></mrow><annotation encoding="application/x-tex">\sgm_x^2+\sgm_y^2</annotation></semantics></math></span> because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>x</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a x</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>y</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a y</annotation></semantics></math></span> are both fixed), where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∣</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\ket\Psi</annotation></semantics></math></span> is defined as the state whose position representation is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msub><mi>a</mi><mi>k</mi></msub><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><mi>k</mi><mi>y</mi></mrow></msup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><mi>k</mi><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\Psi{x,y}=\int\d k\,a_k\e^{\i ky}\e^{-\p{x-kl^2}^2/2l^2}.</annotation></semantics></math></span></p>
<h2 data-label="0.3" id="the-solution">The solution</h2>
<p>Consider the <a href="https://en.wikipedia.org/wiki/Moment_generating_function" target="_blank" rel="external">moment-generating function</a> <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mi>M</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>u</mi><mi>x</mi><mo>+</mo><mi>v</mi><mi>y</mi></mrow></msup><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>∬</mo><mi mathvariant="normal">d</mi><mi>x</mi><mi mathvariant="normal">d</mi><mi>y</mi><mtext> </mtext><msup><mi mathvariant="normal">e</mi><mrow><mi>u</mi><mi>x</mi><mo>+</mo><mi>v</mi><mi>y</mi></mrow></msup><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi mathvariant="normal">i</mi><mi>k</mi><mi>y</mi></mrow></msup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></mfrac><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><mi>k</mi><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow></msup><mo>∫</mo><mi mathvariant="normal">d</mi><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> </mtext><msub><mi>a</mi><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><msup><mi mathvariant="normal">e</mi><mrow><mi mathvariant="normal">i</mi><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mi>y</mi></mrow></msup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></mfrac><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow></msup></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>∬</mo><mi mathvariant="normal">d</mi><mi>k</mi><mi mathvariant="normal">d</mi><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><msub><mi>a</mi><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup></msub><mo>∫</mo><mi mathvariant="normal">d</mi><mi>x</mi><mtext> </mtext><msup><mi mathvariant="normal">e</mi><mrow><mi>u</mi><mi>x</mi><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></mfrac><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><mi>k</mi><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></mfrac><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow></msup><munder><munder><mrow><mo>∫</mo><mi mathvariant="normal">d</mi><mi>y</mi><mtext> </mtext><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>v</mi><mi>y</mi><mo>+</mo><mi mathvariant="normal">i</mi><mrow><mo fence="true">(</mo><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>k</mi><mo fence="true">)</mo></mrow><mi>y</mi><mo fence="true">)</mo></mrow></mrow><mo stretchy="true">⏟</mo></munder><mrow><mn>2</mn><mi>π</mi><mi>δ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mo>−</mo><mi>k</mi><mo>−</mo><mi mathvariant="normal">i</mi><mi>v</mi><mo fence="true">)</mo></mrow></mrow></munder></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>2</mn><mi>π</mi><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><msub><mi>a</mi><mrow><mi>k</mi><mo>+</mo><mi mathvariant="normal">i</mi><mi>v</mi></mrow></msub><munder><munder><mrow><mo>∫</mo><mi mathvariant="normal">d</mi><mi>x</mi><mtext> </mtext><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mi>x</mi><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></mfrac><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><mi>k</mi><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></mfrac><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><mrow><mo fence="true">(</mo><mi>k</mi><mo>+</mo><mi mathvariant="normal">i</mi><mi>v</mi><mo fence="true">)</mo></mrow><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><mo stretchy="true">⏟</mo></munder><mrow><mi>l</mi><msqrt><mi>π</mi></msqrt><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>4</mn></mfrac><msup><mi>l</mi><mn>2</mn></msup><mrow><mo fence="true">(</mo><mn>4</mn><mi>k</mi><mi>u</mi><mo>+</mo><msup><mi>u</mi><mn>2</mn></msup><mo>+</mo><mn>2</mn><mi mathvariant="normal">i</mi><mi>u</mi><mi>v</mi><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow></munder></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>2</mn><msup><mi>π</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi>l</mi><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>4</mn></mfrac><msup><mi>l</mi><mn>2</mn></msup><mrow><mo fence="true">(</mo><msup><mi>u</mi><mn>2</mn></msup><mo>+</mo><mn>2</mn><mi mathvariant="normal">i</mi><mi>u</mi><mi>v</mi><mo>+</mo><msup><mi>v</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><msub><mi>a</mi><mrow><mi>k</mi><mo>+</mo><mi mathvariant="normal">i</mi><mi>v</mi></mrow></msub><msup><mi mathvariant="normal">e</mi><mrow><mi>k</mi><msup><mi>l</mi><mn>2</mn></msup><mi>u</mi></mrow></msup></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>2</mn><msup><mi>π</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi>l</mi><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>k</mi></msub><mo>+</mo><mi>k</mi><msup><mi>l</mi><mn>2</mn></msup><msub><mi>a</mi><mi>k</mi></msub><mi>u</mi><mo>+</mo><mi mathvariant="normal">i</mi><msubsup><mi>a</mi><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mi>v</mi><mo>+</mo><mfrac><mn>1</mn><mn>4</mn></mfrac><msup><mi>l</mi><mn>2</mn></msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><mn>2</mn><msup><mi>k</mi><mn>2</mn></msup><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><msub><mi>a</mi><mi>k</mi></msub><msup><mi>u</mi><mn>2</mn></msup></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mspace width="2em"/><mspace width="2em"/><mspace width="2em"/><mspace width="2em"/><mrow><mrow></mrow><mo>+</mo><mfrac><mn>1</mn><mn>4</mn></mfrac><mrow><mo fence="true">(</mo><msup><mi>l</mi><mn>2</mn></msup><msub><mi>a</mi><mi>k</mi></msub><mo>−</mo><mn>2</mn><msubsup><mi>a</mi><mi>k</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msubsup><mo fence="true">)</mo></mrow><msup><mi>v</mi><mn>2</mn></msup><mo>+</mo><mfrac><mi mathvariant="normal">i</mi><mn>2</mn></mfrac><msup><mi>l</mi><mn>2</mn></msup><mrow><mo fence="true">(</mo><msub><mi>a</mi><mi>k</mi></msub><mo>+</mo><mn>2</mn><mi>k</mi><msubsup><mi>a</mi><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo fence="true">)</mo></mrow><mi>u</mi><mi>v</mi><mo>+</mo><mo>⋯</mo><mtext> </mtext><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	\fc M{u,v}&amp;\ceq\mel{\Psi}{\e^{ux+vy}}{\Psi}\\
	&amp;=\iint\d x\d y\,\e^{ux+vy}
	\int\d k\,a_k^*\e^{-\i ky}\e^{-\fr1{2l^2}\p{x-kl^2}^2}
	\int\d k&#x27;\,a_{k&#x27;}\e^{\i k&#x27;y}\e^{-\fr1{2l^2}\p{x-k&#x27;l^2}^2}\\
	&amp;=\iint\d k\d k&#x27;\,a_k^*a_{k&#x27;}\int\d x\,\e^{
		ux-\fr1{2l^2}\p{x-kl^2}^2-\fr1{2l^2}\p{x-k&#x27;l^2}^2
	}\underbrace{\int\d y\,\fc\exp{vy+\i\p{k&#x27;-k}y}}_{2\pi\fc\dlt{k&#x27;-k-\i v}}\\
	&amp;=2\pi\int\d k\,a_k^*a_{k+\i v}\underbrace{\int\d x\,\fc\exp{
		ux-\fr1{2l^2}\p{x-kl^2}^2-\fr1{2l^2}\p{x-\p{k+\i v}l^2}^2
	}}_{l\sqrt\pi\fc\exp{\fr14l^2\p{4ku+u^2+2\i uv+v^2}}}\\
	&amp;=2\pi^{3/2}l\fc\exp{\fr14l^2\p{u^2+2\i uv+v^2}}
	\int\d k\,a_k^*a_{k+\i v}\e^{kl^2u}\\
	&amp;=2\pi^{3/2}l\int\d k\,a_k^*\left(
		a_k+kl^2a_ku+\i a_k&#x27;v+\fr14l^2\p{1+2k^2l^2}a_ku^2
	\right.\\&amp;\qquad\qquad\qquad\qquad\left.
		{}+\fr14\p{l^2a_k-2a_k&#x27;&#x27;}v^2
		+\fr\i2l^2\p{a_k+2ka_k&#x27;}uv+\cdots
	\right),
\end{align*}</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>a</mi><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo><mi mathvariant="normal">≔</mi></mo><mi mathvariant="normal">d</mi><msub><mi>a</mi><mi>k</mi></msub><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mi>k</mi></mrow><annotation encoding="application/x-tex">a_k&#x27;\ceq\d a_k/\d k</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mi>a</mi><mi>k</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msubsup><mo><mi mathvariant="normal">≔</mi></mo><msup><mi mathvariant="normal">d</mi><mn>2</mn></msup><msub><mi>a</mi><mi>k</mi></msub><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><msup><mi>k</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">a_k&#x27;&#x27;\ceq\d^2a_k/\d k^2</annotation></semantics></math></span>. On the other hand, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>M</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>u</mi><mo separator="true">,</mo><mi>v</mi><mo fence="true">)</mo></mrow><mo>=</mo><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mn>1</mn><mo>+</mo><mi>u</mi><mi>x</mi><mo>+</mo><mi>u</mi><mi>y</mi><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>u</mi><mn>2</mn></msup><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>v</mi><mn>2</mn></msup><msup><mi>y</mi><mn>2</mn></msup><mo>+</mo><mi>u</mi><mi>v</mi><mi>x</mi><mi>y</mi><mo>+</mo><mo>⋯</mo><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc M{u,v}=\mel{\Psi}{1+ux+uy+\fr12u^2x^2+\fr12v^2y^2+uvxy+\cdots}{\Psi}.</annotation></semantics></math></span> Compare the expansion coefficients, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>2</mn><msup><mi>π</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi>l</mi><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><msub><mi>a</mi><mi>k</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>x</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>2</mn><msup><mi>π</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><msup><mi>l</mi><mn>3</mn></msup><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><mi>k</mi><msub><mi>a</mi><mi>k</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>y</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mn>2</mn><mi mathvariant="normal">i</mi><msup><mi>π</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi>l</mi><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><msubsup><mi>a</mi><mi>k</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msubsup><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><msup><mi>x</mi><mn>2</mn></msup><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>π</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><msup><mi>l</mi><mn>3</mn></msup><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><mn>2</mn><msup><mi>k</mi><mn>2</mn></msup><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><msub><mi>a</mi><mi>k</mi></msub><mo separator="true">,</mo></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><msup><mi>y</mi><mn>2</mn></msup><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>π</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi>l</mi><mo>∫</mo><mi mathvariant="normal">d</mi><mi>k</mi><mtext> </mtext><msubsup><mi>a</mi><mi>k</mi><mo>∗</mo></msubsup><mrow><mo fence="true">(</mo><msup><mi>l</mi><mn>2</mn></msup><mo>−</mo><mn>2</mn><msubsup><mi>a</mi><mi>k</mi><mrow><mo mathvariant="normal">′</mo><mo mathvariant="normal">′</mo></mrow></msubsup><mo fence="true">)</mo></mrow><msub><mi>a</mi><mi>k</mi></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	\braket{\Psi}{\Psi}&amp;=2\pi^{3/2}l\int\d k\,a_k^*a_k,\\
	\mel{\Psi}{x}{\Psi}&amp;=2\pi^{3/2}l^3\int\d k\,a_k^*ka_k,\\
	\mel{\Psi}{y}{\Psi}&amp;=2\i\pi^{3/2}l\int\d k\,a_k^*a_k&#x27;,\\
	\mel{\Psi}{x^2}{\Psi}&amp;=\fr12\pi^{3/2}l^3\int\d k\,a_k^*\p{1+2k^2l^2}a_k,\\
	\mel{\Psi}{y^2}{\Psi}&amp;=\fr12\pi^{3/2}l\int\d k\,a_k^*\p{l^2-2a_k&#x27;&#x27;}a_k.
\end{align*}</annotation></semantics></math></span></p>
<p>Define <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msub><mi>a</mi><mi>k</mi></msub><msqrt><mrow><mn>2</mn><msup><mi>π</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi>l</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\fc\vphi k\ceq a_k\sqrt{2\pi^{3/2}l}</annotation></semantics></math></span>. Define fictitious position and momentum operators acting on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>φ</mi></mrow><annotation encoding="application/x-tex">\vphi</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Ξ</mi><mi>φ</mi><mo>:</mo><mi>k</mi><mo>↦</mo><mi>k</mi><mi>φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><mi mathvariant="normal">Π</mi><mi>φ</mi><mo>:</mo><mi>k</mi><mo>↦</mo><mo>−</mo><mi mathvariant="normal">i</mi><msup><mi>φ</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\Xi\vphi:k\mapsto k\fc\vphi k,\quad
\Pi\vphi:k\mapsto-\i\fc{\vphi&#x27;}k.</annotation></semantics></math></span> Using the constraints of the original optimization problem and abusing the bra–ket notation on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>φ</mi></mrow><annotation encoding="application/x-tex">\vphi</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>φ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><mrow><mo fence="true">⟨</mo><mi>φ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ξ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mfrac><msub><mi>R</mi><mi>x</mi></msub><msup><mi>l</mi><mn>2</mn></msup></mfrac><mo separator="true">,</mo><mspace width="1em"/><mrow><mo fence="true">⟨</mo><mi>φ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Π</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mo>−</mo><msub><mi>R</mi><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\braket{\vphi}{\vphi}=1,\quad\mel\vphi\Xi\vphi=\fr{R_x}{l^2},\quad
\mel\vphi\Pi\vphi=-R_y.</annotation></semantics></math></span> The objective function then becomes <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Ψ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ψ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>l</mi><mn>2</mn></msup><mo>+</mo><mrow><mo fence="true">⟨</mo><mi>φ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="script">H</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\mel{\Psi}{x^2+y^2}{\Psi}=\fr12l^2+\mel{\vphi}{\mcal H}{\vphi},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="script">H</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi mathvariant="normal">Π</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn><mo>+</mo><msup><mi>l</mi><mn>4</mn></msup><msup><mi mathvariant="normal">Ξ</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\mcal H\ceq \Pi^2/2+l^4\Xi^2/2</annotation></semantics></math></span> is a fictitious Hamiltonian, which is the Hamiltonian of a harmonic oscillator with mass <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> and angular frequency <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ω</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>l</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\omg\ceq l^2</annotation></semantics></math></span>.</p>
<p>The optimization problem can now be re-stated in terms of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">∣</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\ket\vphi</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><munder><mrow><mi>min</mi><mo>⁡</mo></mrow><mrow><mo fence="true">∣</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow></munder><mspace width="1em"/></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mrow><mo fence="true">⟨</mo><mi>φ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="script">H</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow><mspace width="1em"/></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mrow><mo fence="true">⟨</mo><mi>φ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mn>1</mn><mo separator="true">,</mo><mspace width="1em"/><mrow><mo fence="true">⟨</mo><mi>φ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Ξ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><msub><mi>R</mi><mi>x</mi></msub><mi mathvariant="normal">/</mi><mi>ω</mi><mo separator="true">,</mo><mspace width="1em"/><mrow><mo fence="true">⟨</mo><mi>φ</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi mathvariant="normal">Π</mi><mo fence="true" lspace="0.05em" rspace="0.05em">|</mo><mi>φ</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mo>−</mo><msub><mi>R</mi><mi>y</mi></msub><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	\min_{\ket\vphi}\quad&amp;\mel\vphi{\mcal H}{\vphi}\\
	\st\quad&amp;\braket\vphi\vphi=1,\quad\mel\vphi\Xi\vphi=R_x/\omg,\quad\mel\vphi\Pi\vphi=-R_y.
\end{align*}</annotation></semantics></math></span> Physically, this means that we want to find the state of a harmonic oscillator with the given expectation values of position and momentum and the lowest energy. To find it, we can use Hisenberg’s uncertainty principle: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mo fence="true">⟨</mo><mi mathvariant="script">H</mi><mo fence="true">⟩</mo></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">⟨</mo><msup><mi mathvariant="normal">Π</mi><mn>2</mn></msup><mo fence="true">⟩</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>ω</mi><mn>2</mn></msup><mrow><mo fence="true">⟨</mo><msup><mi mathvariant="normal">Ξ</mi><mn>2</mn></msup><mo fence="true">⟩</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo fence="true">(</mo><msup><mrow><mo fence="true">⟨</mo><mi mathvariant="normal">Π</mi><mo fence="true">⟩</mo></mrow><mn>2</mn></msup><mo>+</mo><msubsup><mi>σ</mi><mi mathvariant="normal">Π</mi><mn>2</mn></msubsup><mo fence="true">)</mo></mrow><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>ω</mi><mn>2</mn></msup><mrow><mo fence="true">(</mo><mrow><mo fence="true">⟨</mo><msup><mi mathvariant="normal">Ξ</mi><mn>2</mn></msup><mo fence="true">⟩</mo></mrow><mo>+</mo><msubsup><mi>σ</mi><mi mathvariant="normal">Ξ</mi><mn>2</mn></msubsup><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>σ</mi><mi mathvariant="normal">Π</mi><mn>2</mn></msubsup><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>ω</mi><mn>2</mn></msup><msubsup><mi>σ</mi><mi mathvariant="normal">Ξ</mi><mn>2</mn></msubsup><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>R</mi><mi>y</mi><mn>2</mn></msubsup><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msubsup><mi>R</mi><mi>x</mi><mn>2</mn></msubsup></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>≥</mo><mi>ω</mi><msub><mi>σ</mi><mi mathvariant="normal">Π</mi></msub><msub><mi>σ</mi><mi mathvariant="normal">Ξ</mi></msub><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>R</mi><mn>2</mn></msup><mo>≥</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>ω</mi><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>R</mi><mn>2</mn></msup><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
	\a{\mcal H}&amp;=\fr12\a{\Pi^2}+\fr12\omg^2\a{\Xi^2}\\
	&amp;=\fr12\p{\a\Pi^2+\sgm_\Pi^2}+\fr12\omg^2\p{\a{\Xi^2}+\sgm_\Xi^2}\\
	&amp;=\fr12\sgm_\Pi^2+\fr12\omg^2\sgm_\Xi^2+\fr12R_y^2+\fr12 R_x^2\\
	&amp;\ge\omg\sgm_\Pi\sgm_\Xi+\fr12R^2
	\ge\fr12\omg+\fr12R^2.
\end{align*}</annotation></semantics></math></span> The equality in the first “<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>≥</mo></mrow><annotation encoding="application/x-tex">\ge</annotation></semantics></math></span>” is achieved when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>σ</mi><mi mathvariant="normal">Π</mi></msub><mo>=</mo><mi>ω</mi><msub><mi>σ</mi><mi mathvariant="normal">Ξ</mi></msub></mrow><annotation encoding="application/x-tex">\sgm_\Pi=\omg\sgm_\Xi</annotation></semantics></math></span>, and that in the second “<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>≥</mo></mrow><annotation encoding="application/x-tex">\ge</annotation></semantics></math></span>” is achieved when the uncertainty principle is saturated. As we know from quantum mechanics, the <a href="https://en.wikipedia.org/wiki/Coherent_state" target="_blank" rel="external">coherent state</a> of a harmonic oscillator satisfies both conditions. The wavefunction of this state is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>φ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow><mo>=</mo><msup><mrow><mo fence="true">(</mo><mfrac><mi>ω</mi><mi>π</mi></mfrac><mo fence="true">)</mo></mrow><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mn>4</mn></mrow></msup><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mi>ω</mi><msup><mrow><mo fence="true">(</mo><mi>k</mi><mo>−</mo><mfrac><msub><mi>R</mi><mi>x</mi></msub><mi>ω</mi></mfrac><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>−</mo><mi mathvariant="normal">i</mi><msub><mi>R</mi><mi>y</mi></msub><mi>k</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\vphi k=\p{\fr\omg\pi}^{1/4}
\fc\exp{-\fr12\omg\p{k-\fr{R_x}{\omg}}^2-\i R_yk}.</annotation></semantics></math></span> Express the final result in terms of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">a_k</annotation></semantics></math></span>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>a</mi><mi>k</mi></msub><mo>=</mo><mfrac><mn>1</mn><mrow><msqrt><mn>2</mn></msqrt><mi>π</mi></mrow></mfrac><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi mathvariant="normal">i</mi><mi>k</mi><msub><mi>R</mi><mi>y</mi></msub></mrow></msup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></mfrac><msup><mrow><mo fence="true">(</mo><msub><mi>R</mi><mi>x</mi></msub><mo>−</mo><mi>k</mi><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow><mn>2</mn></msup></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">a_k=\fr1{\sqrt2\pi}\e^{-\i kR_y}\e^{-\fr1{2l^2}\p{R_x-kl^2}^2}.</annotation></semantics></math></span> We may work out the integral to get the wave function of the wave packet: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi mathvariant="normal">Ψ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo separator="true">,</mo><mi>y</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><msqrt><mrow><mn>2</mn><mi>π</mi></mrow></msqrt><mi>l</mi></mrow></mfrac><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mfrac><mn>1</mn><mrow><mn>4</mn><msup><mi>l</mi><mn>2</mn></msup></mrow></mfrac><mrow><mo fence="true">(</mo><msup><mrow><mo fence="true">(</mo><mi>x</mi><mo>−</mo><msub><mi>R</mi><mi>x</mi></msub><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo fence="true">(</mo><mi>y</mi><mo>−</mo><msub><mi>R</mi><mi>y</mi></msub><mo fence="true">)</mo></mrow><mn>2</mn></msup><mo>−</mo><mn>2</mn><mi mathvariant="normal">i</mi><mrow><mo fence="true">(</mo><mi>x</mi><mo>+</mo><msub><mi>R</mi><mi>x</mi></msub><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mi>y</mi><mo>−</mo><msub><mi>R</mi><mi>y</mi></msub><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc{\Psi}{x,y}=\fr1{\sqrt{2\pi}l}\fc\exp{-\fr1{4l^2}\p{
	\p{x-R_x}^2+\p{y-R_y}^2-2\i\p{x+R_x}\p{y-R_y}
}}.</annotation></semantics></math></span> This is a Gaussian wave packet centered at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold">R</mi></mrow><annotation encoding="application/x-tex">\mbf R</annotation></semantics></math></span> with covariance matrix <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Diag</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>l</mi><mn>2</mn></msup><mo separator="true">,</mo><msup><mi>l</mi><mn>2</mn></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\opc{Diag}{l^2,l^2}</annotation></semantics></math></span>.</p>
<h2 data-label="0.4" id="further-problems">Further problems</h2>
<p>The optimal wave packet is indeed Gaussian. This makes me curious about whether this is a coincidence or not.</p>
<p>Another thing worth noting is that this result is actually the Dirac delta wave function peaking at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="bold">R</mi></mrow><annotation encoding="application/x-tex">\mbf R</annotation></semantics></math></span> projected into the lowest Landau level. This was actually my first idea to solve the problem. I was like: well, isn’t the Dirac delta the smallest possible wave packet by all means? If the basis is complete, I can surely combine them into a Dirac delta, and it would be very easy to work out <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi>k</mi></msub></mrow><annotation encoding="application/x-tex">a_k</annotation></semantics></math></span> in this case. Then, I was like: nah, merely a single Landau level is not complete, so I cannot do that anyway. I then did not even bother to proceed with this approach and went on to trying other methods. It turns out that this approach is actually correct—at least it gives the same result as the correct approach.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="physics" /><category term="quantum mechanics" /><category term="condensed matter physics" /><summary type="html"><![CDATA[The smallest wave packet in the lowest Landau level exists, and is a Gaussian wave packet. This turns out to be related to the coherent state of the harmonic oscillator.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2024-07-01-landau-wave-packet.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2024-07-01-landau-wave-packet.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Regularizing the partition function of a hydrogen atom]]></title><link href="https://ulysseszh.github.io/physics/2024/06/30/regularize-hydrogen.html" rel="alternate" type="text/html" title="Regularizing the partition function of a hydrogen atom" /><published>2024-06-30T21:18:12-07:00</published><updated>2024-06-30T21:18:12-07:00</updated><id>https://ulysseszh.github.io/physics/2024/06/30/regularize-hydrogen</id><content type="html" xml:base="https://ulysseszh.github.io/physics/2024/06/30/regularize-hydrogen.html"><![CDATA[<h2 data-label="0.1" id="introduction">Introduction</h2>
<details>
<summary>
The unit system
</summary>
<p>The unit system used in this article is <a href="https://en.wikipedia.org/wiki/Atomic_units" target="_blank" rel="external">Hartree atomic units</a>: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mi mathvariant="normal">e</mi></msub><mo>=</mo><msub><mi>k</mi><mi mathvariant="normal">B</mi></msub><mo>=</mo><mi mathvariant="normal">ℏ</mi><mo>=</mo><mn>4</mn><mi>π</mi><msub><mi>ε</mi><mn>0</mn></msub><mo>=</mo><mi>e</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">m_\mrm e=k_\mrm B=\hbar=4\pi\veps_0=e=1</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mi mathvariant="normal">e</mi></msub></mrow><annotation encoding="application/x-tex">m_\mrm e</annotation></semantics></math></span> is the electron mass.</p>
<p>In this unit system, the Bohr radius is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>a</mi><mi mathvariant="normal">B</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">a_\mrm B=1</annotation></semantics></math></span>, which is of angstrom order. Therefore, I will use <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>10</mn><mn>10</mn></msup></mrow><annotation encoding="application/x-tex">10^{10}</annotation></semantics></math></span> as the order of macroscopic lengths. The Rydberg unit of energy is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mi mathvariant="normal">R</mi><mi mathvariant="normal">y</mi></mrow><mo>=</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\mrm{Ry}=1/2</annotation></semantics></math></span>, which is of electronvolt order. Therefore, I will use <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>10</mn><mn>3</mn></msup></mrow><annotation encoding="application/x-tex">10^3</annotation></semantics></math></span> as the order of inverse room temperature.</p>
<p>One can adjust the units to get results for the cases of other hydrogen-like atoms: use <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>Z</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>4</mn><mi>π</mi><msub><mi>ε</mi><mn>0</mn></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">Z^2/4\pi\veps_0=1</annotation></semantics></math></span> instead of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>4</mn><mi>π</mi><msub><mi>ε</mi><mn>0</mn></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">4\pi\veps_0=1</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> is the atomic number.</p>
<p>In this article, I also assume that the mass of the nucleus is infinite. If you want more accuracy, you can use <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mi mathvariant="normal">N</mi></msub><msub><mi>m</mi><mi mathvariant="normal">e</mi></msub><mi mathvariant="normal">/</mi><mrow><mo fence="true">(</mo><msub><mi>m</mi><mi mathvariant="normal">N</mi></msub><mo>+</mo><msub><mi>m</mi><mi mathvariant="normal">e</mi></msub><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">m_\mrm Nm_\mrm e/\p{m_\mrm N+m_\mrm e}=1</annotation></semantics></math></span> instead of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mi mathvariant="normal">e</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">m_\mrm e=1</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>m</mi><mi mathvariant="normal">N</mi></msub></mrow><annotation encoding="application/x-tex">m_\mrm N</annotation></semantics></math></span> is the mass of the nucleus.</p>
</details>
<details>
<summary>
Terminology about temperatures
</summary>
<p>I will mainly be working with the inverse temperature <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mi mathvariant="normal">/</mi><msub><mi>k</mi><mi mathvariant="normal">B</mi></msub><mi>T</mi></mrow><annotation encoding="application/x-tex">\beta\ceq1/k_\mrm BT</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>T</mi></mrow><annotation encoding="application/x-tex">T</annotation></semantics></math></span> is the temperature. However, I will still use “temperature” often to give some physical intuition. To avoid confusion in the context of using <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> and in appearance of <a href="https://en.wikipedia.org/wiki/Negative_temperature" target="_blank" rel="external">negative temperature</a>, I would avoid using phrases like “high temperature” and “low temperature”. Instead, here are some terminologies that I am going to use:</p>
<ul>
<li>“Cold (positive) temperature” means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta\to+\infty</annotation></semantics></math></span>.</li>
<li>“Hot positive temperature” means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\beta\to0^+</annotation></semantics></math></span>.</li>
<li>“Cold negative temperature” means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><msup><mn>0</mn><mo>−</mo></msup></mrow><annotation encoding="application/x-tex">\beta\to0^-</annotation></semantics></math></span>.</li>
<li>“Hot negative temperature” means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta\to-\infty</annotation></semantics></math></span>.</li>
</ul>
</details>
<p>The energy levels of a hydrogen atom are (ignoring fine structures etc.) <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo>=</mo><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">E_n=-1/2n^2</annotation></semantics></math></span>, with each energy level labeled by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>∈</mo><msup><mi mathvariant="double-struck">Z</mi><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">n\in\bZ^+</annotation></semantics></math></span>, and each energy level has <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>n</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">g_n\ceq n^2</annotation></semantics></math></span> degeneracy (ignoring spin degeneracy, which merely contributes to an overall factor of the partition function). The partition function is <span id="eq:Z" data-label="(1)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>Z</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msub><mi>g</mi><mi>n</mi></msub><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>β</mi><msub><mi>E</mi><mi>n</mi></msub></mrow></msup><mo>=</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>n</mi><mn>2</mn></msup><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\fc Z\beta\ceq\sum_{n=1}^\infty g_n\e^{-\beta E_n}
=\sum_{n=1}^\infty n^2\e^{\beta/2n^2},</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(1)</annotation></semantics></math></span></span> </span></span> which diverges for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>∈</mo><mi mathvariant="double-struck">C</mi></mrow><annotation encoding="application/x-tex">\beta\in\bC</annotation></semantics></math></span> (of course, normally we can only have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>∈</mo><mi mathvariant="double-struck">R</mi></mrow><annotation encoding="application/x-tex">\beta\in\bR</annotation></semantics></math></span>, but the point of saying that it diverges for any complex <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> is that there is no way we can analytically continue the function to get a finite result). Does this mean that statistical mechanics breaks down for this system? Not necessarily. Actually, there are multiple ways we can tackle this divergence.</p>
<p>One should notice that, although this article concentrates on regularizing partition functions and that of the hydrogen atom in particular, all the methods are valid for more general divergent sums.</p>
<p>Here is a sentence that is quoted by many literatures on diverging series, so I want to quote it, too:</p>
<figure class="no-indent">
<blockquote>
<p>Divergente Rækker er i det Hele noget Fandenskap, og det er en Skam at man vover at grunde nogen Demonstrasjon derpaa.</p>
</blockquote>
<figcaption>
—N. H. Abel
</figcaption>
</figure>
<p class="no-indent">
It translates to “Divergent series are in general deadly, and it is shameful that anyone dare to base any proof on them.”
</p>
<h2 data-label="0.2" id="the-physical-answer">The physical answer</h2>
<p>A physicist always tell you that one should not be afraid of infinities. Instead, one should look at where the infinity comes out from the seemingly physical model, where there is something sneakily unphysical which ultimately leads to this unphysical divergence. In our case, the divergence comes from high energy levels. It is then a good time to question whether those high energy levels are physical.</p>
<p>There is a radius associated with each energy level in the sense of the Bohr model: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mi>n</mi></msub><mo>=</mo><msup><mi>n</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">r_n=n^2</annotation></semantics></math></span>. When <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mi>n</mi></msub><mo>∼</mo><mi>L</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mn>10</mn><mn>10</mn></msup></mrow><annotation encoding="application/x-tex">r_n\sim L\ceq10^{10}</annotation></semantics></math></span> (which happens at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>∼</mo><mi mathvariant="normal">Λ</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mn>10</mn><mn>5</mn></msup></mrow><annotation encoding="application/x-tex">n\sim\Lmd\ceq10^5</annotation></semantics></math></span>), the orbit is really microscopic now, and the interaction between the electron and the “box” that contains the whole experimental setup is now having significant effects. Or, if there is not a box at all, we can use the size of the universe instead, which is about <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>r</mi><mi>n</mi></msub><mo>∼</mo><mi>L</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mn>10</mn><mn>36</mn></msup></mrow><annotation encoding="application/x-tex">r_n\sim L\ceq10^{36}</annotation></semantics></math></span> (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Λ</mi><mo><mi mathvariant="normal">≔</mi></mo><msup><mn>10</mn><mn>18</mn></msup></mrow><annotation encoding="application/x-tex">\Lmd\ceq10^{18}</annotation></semantics></math></span>). Use the model of particle in a box for energy levels higher than <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mi mathvariant="normal">Λ</mi></mrow><annotation encoding="application/x-tex">n=\Lmd</annotation></semantics></math></span>, and we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>Z</mi><mo>=</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">Λ</mi></munderover><msup><mi>n</mi><mn>2</mn></msup><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></msup><mo>+</mo><munderover><mo>∑</mo><mrow><msub><mi>n</mi><mi>x</mi></msub><mo separator="true">,</mo><msub><mi>n</mi><mi>y</mi></msub><mo separator="true">,</mo><msub><mi>n</mi><mi>z</mi></msub><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>β</mi><mfrac><mrow><mrow><mo fence="true">(</mo><msubsup><mi>n</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>n</mi><mi>y</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>n</mi><mi>z</mi><mn>2</mn></msubsup><mo fence="true">)</mo></mrow><msup><mi>π</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>L</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">Z=\sum_{n=1}^\Lmd n^2\e^{\beta/2n^2}
+\sum_{n_x,n_y,n_z=1}^\infty\fc\exp{-\beta\fr{\p{n_x^2+n_y^2+n_z^2}\pi^2}{2L^2}},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span> is the side length of the box (assuming that the box is cubic). If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>L</mi></mrow><annotation encoding="application/x-tex">L</annotation></semantics></math></span> is very large, we can approximate the second term as a spherically symmetric integral over the first octant to get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>L</mi><mn>3</mn></msup><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mi>β</mi><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">L^3\p{2\pi\beta}^{-3/2}</annotation></semantics></math></span>.</p>
<details>
<summary>
The integral approximation
</summary>
<p>This is actually the result for Boltzmann ideal gas, so it should be familar, but I still write down the calculation here for completeness.</p>
<p>We can approximate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munderover><mo>∑</mo><mrow><msub><mi>n</mi><mi>x</mi></msub><mo separator="true">,</mo><msub><mi>n</mi><mi>y</mi></msub><mo separator="true">,</mo><msub><mi>n</mi><mi>z</mi></msub><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>β</mi><mfrac><mrow><mrow><mo fence="true">(</mo><msubsup><mi>n</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>n</mi><mi>y</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>n</mi><mi>z</mi><mn>2</mn></msubsup><mo fence="true">)</mo></mrow><msup><mi>π</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>L</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mo>≈</mo><mi>I</mi><mo><mi mathvariant="normal">≔</mi></mo><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><msup><mi mathvariant="normal">d</mi><mn>3</mn></msup><mi>n</mi><mtext> </mtext><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>β</mi><mfrac><mrow><mrow><mo fence="true">(</mo><msubsup><mi>n</mi><mi>x</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>n</mi><mi>y</mi><mn>2</mn></msubsup><mo>+</mo><msubsup><mi>n</mi><mi>z</mi><mn>2</mn></msubsup><mo fence="true">)</mo></mrow><msup><mi>π</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>L</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\sum_{n_x,n_y,n_z=1}^\infty\fc\exp{-\beta\fr{\p{n_x^2+n_y^2+n_z^2}\pi^2}{2L^2}}
\approx I\ceq\int_0^\infty\d^3n\,\fc\exp{-\beta\fr{\p{n_x^2+n_y^2+n_z^2}\pi^2}{2L^2}},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><msup><mi mathvariant="normal">d</mi><mn>3</mn></msup><mi>n</mi></mrow><annotation encoding="application/x-tex">\int_0^\infty\d^3n</annotation></semantics></math></span> means <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mi mathvariant="normal">d</mi><msub><mi>n</mi><mi>x</mi></msub><mtext> </mtext><mi mathvariant="normal">d</mi><msub><mi>n</mi><mi>y</mi></msub><mtext> </mtext><mi mathvariant="normal">d</mi><msub><mi>n</mi><mi>z</mi></msub></mrow><annotation encoding="application/x-tex">\int_0^\infty\int_0^\infty\int_0^\infty\d n_x\,\d n_y\,\d n_z</annotation></semantics></math></span>. We can then change the integral to spherical coordinates: <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>I</mi><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><mfrac><mn>1</mn><mn>8</mn></mfrac><mn>4</mn><mi>π</mi><msup><mi>n</mi><mn>2</mn></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>n</mi><mtext> </mtext><mi>exp</mi><mo>⁡</mo><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>β</mi><mfrac><mrow><msup><mi>n</mi><mn>2</mn></msup><msup><mi>π</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>L</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><msup><mi>L</mi><mn>3</mn></msup><mrow><mn>4</mn><msup><mi>π</mi><mn>2</mn></msup><msup><mi>β</mi><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow></mfrac><msubsup><mo>∫</mo><mrow><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><mi mathvariant="normal">∞</mi></msubsup><mi mathvariant="normal">d</mi><mi>n</mi><mtext> </mtext><msup><mi>n</mi><mn>2</mn></msup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><msup><mi>n</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">I=\int_0^\infty\fr184\pi n^2\,\d n\,\fc\exp{-\beta\fr{n^2\pi^2}{2L^2}}
=\fr{L^3}{4\pi^2\beta^{3/2}}\int_{-\infty}^\infty\d n\,n^2\e^{-n^2/2},</annotation></semantics></math></span> where the factor of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mn>8</mn></mrow><annotation encoding="application/x-tex">1/8</annotation></semantics></math></span> is because we only integrate in the first octant, and the second step utilizes the symmetry of the integrand and redefines the integrated variable. This integral is than a familiar Gaussian integral of order unity. The value of it is not important for later discussion because all the arguments that follow only uses orders of magnitude, but I tell you it is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msqrt><mrow><mn>2</mn><mi>π</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\sqrt{2\pi}</annotation></semantics></math></span>, which can be evaluated by integrating by parts once and utilizing the famous <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∫</mo><mrow><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><mi mathvariant="normal">∞</mi></msubsup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><msup><mi>n</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>n</mi><mo>=</mo><msqrt><mrow><mn>2</mn><mi>π</mi></mrow></msqrt></mrow><annotation encoding="application/x-tex">\int_{-\infty}^{\infty}\e^{-n^2/2}\,\d n=\sqrt{2\pi}</annotation></semantics></math></span>. The final result is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>I</mi><mo>=</mo><msup><mi>L</mi><mn>3</mn></msup><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mi>β</mi><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">I=L^3\p{2\pi\beta}^{-3/2}</annotation></semantics></math></span>.</p>
<p>Is this an overestimation or underestimation? It is actually an overestimation. Draw a picture of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><msup><mi>n</mi><mn>2</mn></msup><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\e^{-n^2/2}</annotation></semantics></math></span> to convince yourself of this. We do not need to estimate how large the error is, though, because we will see that we only need an upper bound to get the arguments we need.</p>
</details>
<p>For the first term, we need to consider how the magnitude of the summand changes with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>. The minimum value of the summand is at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><msqrt><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msqrt></mrow><annotation encoding="application/x-tex">n=\sqrt{\beta/2}</annotation></semantics></math></span>. At room temperature, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>∼</mo><msup><mn>10</mn><mn>3</mn></msup></mrow><annotation encoding="application/x-tex">\beta\sim10^3</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msqrt><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msqrt></mrow><annotation encoding="application/x-tex">\sqrt{\beta/2}</annotation></semantics></math></span> is well between <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn></mrow><annotation encoding="application/x-tex">1</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Λ</mi></mrow><annotation encoding="application/x-tex">\Lmd</annotation></semantics></math></span>. Therefore, the largest term is either <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n=1</annotation></semantics></math></span> or <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mi mathvariant="normal">Λ</mi></mrow><annotation encoding="application/x-tex">n=\Lmd</annotation></semantics></math></span>. The former is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\e^{\beta/2}</annotation></semantics></math></span>, which is of order <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>10</mn><mn>217</mn></msup></mrow><annotation encoding="application/x-tex">10^{217}</annotation></semantics></math></span>, while the latter is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Λ</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\Lmd^2</annotation></semantics></math></span>, which is of order <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>10</mn><mn>36</mn></msup></mrow><annotation encoding="application/x-tex">10^{36}</annotation></semantics></math></span> for the case of the size of the universe. We may then be interested in the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">n=2</annotation></semantics></math></span> term <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>4</mn><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>8</mn></mrow></msup></mrow><annotation encoding="application/x-tex">4\e^{\beta/8}</annotation></semantics></math></span>, which is of order <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>10</mn><mn>54</mn></msup></mrow><annotation encoding="application/x-tex">10^{54}</annotation></semantics></math></span>. This is much larger than the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mi mathvariant="normal">Λ</mi></mrow><annotation encoding="application/x-tex">n=\Lmd</annotation></semantics></math></span> term but much smaller than the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n=1</annotation></semantics></math></span> term, so it is second largest term in the sum.</p>
<p>An upper bound of the summation is given by replacing every term except the largest term by the second largest term, which gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>Z</mi><mo>&lt;</mo><munder><munder><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mo stretchy="true">⏟</mo></munder><msup><mn>10</mn><mn>217</mn></msup></munder><mo>+</mo><munder><munder><mrow><mrow><mo fence="true">(</mo><mi mathvariant="normal">Λ</mi><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mn>4</mn><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>8</mn></mrow></msup></mrow><mo stretchy="true">⏟</mo></munder><msup><mn>10</mn><mn>72</mn></msup></munder><mo>+</mo><munder><munder><mrow><msup><mi>L</mi><mn>3</mn></msup><msup><mrow><mo fence="true">(</mo><mn>2</mn><mi>π</mi><mi>β</mi><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow><mo stretchy="true">⏟</mo></munder><msup><mn>10</mn><mn>48</mn></msup></munder><mo>≈</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">Z&lt;\underbrace{\e^{\beta/2}}_{10^{217}}
+\underbrace{\p{\Lmd-1}4\e^{\beta/8}}_{10^{72}}+\underbrace{L^3\p{2\pi\beta}^{-3/2}}_{10^{48}}\approx\e^{\beta/2}.</annotation></semantics></math></span> Therefore, the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">n=1</annotation></semantics></math></span> term dominates the entire partition function. This means that the hydrogen atom is extremely likely to be in the ground state (despite the seeming divergence of the partition function). This is intuitive. The probability of the system not being in the ground state is of order <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>10</mn><mrow><mo>−</mo><mn>55</mn></mrow></msup></mrow><annotation encoding="application/x-tex">10^{-55}</annotation></semantics></math></span> for the size of the universe and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>10</mn><mrow><mo>−</mo><mn>158</mn></mrow></msup></mrow><annotation encoding="application/x-tex">10^{-158}</annotation></semantics></math></span> for a typical macroscopic experiment.</p>
<details>
<summary>
More accurate considerations
</summary>
<p>The usage of the model of particle in a box for energy levels <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>&gt;</mo><mi mathvariant="normal">Λ</mi></mrow><annotation encoding="application/x-tex">n&gt;\Lmd</annotation></semantics></math></span> gives good enough arguments and results, but one may want to question whether this is appropriate.</p>
<p>What happens if you actually put a hydrogen atom in a box (for simplicity, make the box spherically symmetric)? More accurately, consider the quantum mechanical problem in spherically symmetric potential <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi></mrow><annotation encoding="application/x-tex">V</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>V</mi><mo>∼</mo><mo>−</mo><msup><mi>r</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">V\sim-r^{-1}</annotation></semantics></math></span> for small <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span> but grows fast and high enough at large <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>r</mi></mrow><annotation encoding="application/x-tex">r</annotation></semantics></math></span> so that the partition function for bound states is convergent. This is called a confined hydrogen atom. A book chapter <a href="https://doi.org/10.1007/978-3-319-09982-8_3" target="_blank" rel="external"><cite>The Confined Hydrogen Atom Revisited</cite></a> discusses this problem in detail and cited several papers that did the calculations about the energy levels.</p>
</details>
<h2 data-label="0.3" id="cutoff-regularization">Cutoff regularization</h2>
<p>By analyzing the orders of magnitude, we see that we actually do not lose much if we just simply cut off the sum at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>=</mo><mi mathvariant="normal">Λ</mi></mrow><annotation encoding="application/x-tex">n=\Lmd</annotation></semantics></math></span>. This corresponds to a regularization method called the simple cutoff: it replaces the infinite sum by a finite partial sum. This can be generalized a little by considering a more general cutoff function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi></mrow><annotation encoding="application/x-tex">\chi</annotation></semantics></math></span> such that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>x</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow></msub><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\lim_{x\to0^+}\fc \chi x=1</annotation></semantics></math></span>. Then, an infinite sum <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msubsup><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></msubsup><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_{n=1}^\infty\fc fn</annotation></semantics></math></span> can be written as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow></munder><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>n</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\sum_{n=1}^\infty\fc fn=\lim_{\lmd\to0^+}\sum_{n=1}^\infty\fc fn\fc\chi{\lmd n}.</annotation></semantics></math></span> The simple cutoff is then the case where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>θ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc \chi x\ceq\fc\tht{1-x}</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mi mathvariant="normal">/</mi><mi mathvariant="normal">Λ</mi></mrow><annotation encoding="application/x-tex">\lmd\ceq1/\Lmd</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>θ</mi></mrow><annotation encoding="application/x-tex">\tht</annotation></semantics></math></span> is the Heaviside step function. For converging series, this gives the same result as the original sum thanks to the dominated convergence theorem.</p>
<details>
<summary>
For diverging series
</summary>
<p>For diverging series, this may give a finite result. For example, for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>n</mi></msup><msup><mi>n</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\fc fn\ceq\p{-1}^nn^k</annotation></semantics></math></span>, this method gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>k</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">-\fc\eta{-k}</annotation></semantics></math></span> for any complex <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span> and any smooth enough <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi></mrow><annotation encoding="application/x-tex">\chi</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>η</mi></mrow><annotation encoding="application/x-tex">\eta</annotation></semantics></math></span> is the <a href="https://en.wikipedia.org/wiki/Dirichlet_eta_function" target="_blank" rel="external">Dirichlet eta function</a>. Here is a check for the special case <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>x</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\fc\chi x\ceq\e^{-x}</annotation></semantics></math></span> (equivalent to the <a href="https://en.wikipedia.org/wiki/Divergent_series#Abel_summation" target="_blank" rel="external">Abel summation</a>). By definition of the <a href="https://en.wikipedia.org/wiki/Polylogarithm" target="_blank" rel="external">polylogarithm</a>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mi>n</mi></msup><msup><mi>n</mi><mi>k</mi></msup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>n</mi></mrow></msup><mo>=</mo><msub><mrow><mi mathvariant="normal">L</mi><mi mathvariant="normal">i</mi></mrow><mrow><mo>−</mo><mi>k</mi></mrow></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi></mrow></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\sum_{n=1}^\infty\p{-1}^nn^k\e^{-\lmd n}=\fc{\mrm{Li}_{-k}}{-\e^{-\lmd}}.</annotation></semantics></math></span> Now, substitute <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\lmd=0</annotation></semantics></math></span>, and utilizing the identity <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi mathvariant="normal">L</mi><mi mathvariant="normal">i</mi></mrow><mi>s</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\mrm{Li}_s}{-1}=-\fc\eta s</annotation></semantics></math></span>, we have the result <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi>η</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>k</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">-\fc\eta{-k}</annotation></semantics></math></span>.</p>
<p>You may wonder what is the case for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>n</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\fc fn\ceq n^k</annotation></semantics></math></span>, which is also a diverging series, and it looks much like the case above. However, the limit at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span> simply does not exist when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Re</mi><mo>⁡</mo><mi>k</mi><mo>≥</mo><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\Re k\ge-1</annotation></semantics></math></span> (i.e., when the series diverges). This is because we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi mathvariant="normal">L</mi><mi mathvariant="normal">i</mi></mrow><mi>s</mi></msub><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>=</mo><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>s</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\mrm{Li}_s}1=\fc\zeta s</annotation></semantics></math></span> only for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Re</mi><mo>⁡</mo><mi>s</mi><mo>&gt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\Re s&gt;1</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ζ</mi></mrow><annotation encoding="application/x-tex">\zeta</annotation></semantics></math></span> is the <a href="https://en.wikipedia.org/wiki/Riemann_zeta_function" target="_blank" rel="external">Riemann zeta function</a>, but it is undefined for other values of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span>. If you analytically continue the result, you will get the famous Rieman zeta function.</p>
</details>
<p>However, although this series may converge for any positive <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span>, the limit as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span> may not exist. If it diverges because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fn</annotation></semantics></math></span> grows too fast (or decays too slowly) as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">n\to\infty</annotation></semantics></math></span>, then we should expect that the sum also tends to infinity as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span>. Assume that we can characterize this divergence by a Laurent series: <span id="eq:cutoff1" data-label="(2)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>n</mi><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><mi mathvariant="normal">∞</mi></munderover><msub><mi>γ</mi><mi>k</mi></msub><msup><mi>λ</mi><mi>k</mi></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\sum_{n=1}^\infty\fc fn\fc\chi{\lmd n}
=\sum_{k=-\infty}^\infty\gma_k\lmd^k.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(2)</annotation></semantics></math></span></span> </span></span> If the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span> limit converge, we would expect <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>γ</mi><mrow><mi>k</mi><mo>&lt;</mo><mn>0</mn></mrow></msub></mrow><annotation encoding="application/x-tex">\gma_{k&lt;0}</annotation></semantics></math></span> to be zero, and then the result is simply <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>γ</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\gma_0</annotation></semantics></math></span>. Therefore, we may also want only <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>γ</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\gma_0</annotation></semantics></math></span> when the limit does not exist. To pick out <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>γ</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\gma_0</annotation></semantics></math></span>, utilize the residue theorem: <span id="eq:cutoff2" data-label="(3)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>π</mi><mi mathvariant="normal">i</mi></mrow></mfrac><mo>∮</mo><mfrac><mrow><mi mathvariant="normal">d</mi><mi>λ</mi></mrow><mi>λ</mi></mfrac><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>n</mi><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">\sum_{n=1}^\infty\fc fn=\fr1{2\pi\i}\oint\fr{\d\lmd}\lmd
\sum_{n=1}^\infty\fc fn\fc\chi{\lmd n},</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(3)</annotation></semantics></math></span></span> </span></span> where the domain of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span> is now analytically continued from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="double-struck">R</mi><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\bR^+</annotation></semantics></math></span> to a deleted neighborhood of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>0</mn></mrow><annotation encoding="application/x-tex">0</annotation></semantics></math></span>. Equation <a href="#eq:cutoff2">3</a> is then a generalized version of Equation <a href="#eq:cutoff1">2</a>.</p>
<p>Notice that I have been super slippery in math in the discussion. For example, the Laurent series may not exist at all, and the analytic continuation may not be possible at all; even if they exist, the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span> limit may also be different from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>γ</mi><mn>0</mn></msub></mrow><annotation encoding="application/x-tex">\gma_0</annotation></semantics></math></span>. However, I may claim that we should be able to select smooth enough <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi></mrow><annotation encoding="application/x-tex">\chi</annotation></semantics></math></span> for all of these to work, and the results will be independent of the choice of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi></mrow><annotation encoding="application/x-tex">\chi</annotation></semantics></math></span> as long as Equation <a href="#eq:cutoff2">3</a> works in this form.</p>
<p>Particularly, one can rigorously prove that for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>n</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\fc fn\ceq n^k</annotation></semantics></math></span>, the sum obtained by this precedure is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>k</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\zeta{-k}</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ζ</mi></mrow><annotation encoding="application/x-tex">\zeta</annotation></semantics></math></span> is the <a href="https://en.wikipedia.org/wiki/Riemann_zeta_function" target="_blank" rel="external">Riemann zeta function</a>, as long as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>x</mi><mi>k</mi></msup><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">x^k\fc\chi x</annotation></semantics></math></span> has bounded <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mi>k</mi><mo>+</mo><mn>2</mn><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\p{k+2}</annotation></semantics></math></span>th derivative and the sum converges. This is proven in an interesting blog <a href="https://terrytao.wordpress.com/2010/04/10/the-euler-maclaurin-formula-bernoulli-numbers-the-zeta-function-and-real-variable-analytic-continuation/" target="_blank" rel="external">article</a>.</p>
<details>
<summary>
Alternative forms of cutoff regularization
</summary>
<p>In some cases, one may discover that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>n</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>n</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_n\fc fn\fc\chi{\lmd n}</annotation></semantics></math></span> is not analytic when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span> so that the Laurent series expansion is not possible. An example is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>ln</mi><mo>⁡</mo><mi>ln</mi><mo>⁡</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">E_n\ceq\ln\ln n</annotation></semantics></math></span> (for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>≥</mo><mn>2</mn></mrow><annotation encoding="application/x-tex">n\ge2</annotation></semantics></math></span>) with no degeneracies (this system also has a diverging partition function for any complex <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span>). In this case, if you try to use the cutoff function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>x</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\fc\chi x\ceq\e^{-x}</annotation></semantics></math></span>, the sum goes like <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mi>β</mi></mrow></msup><mi mathvariant="normal">/</mi><mi>λ</mi></mrow><annotation encoding="application/x-tex">\p{-\ln\lmd}^{-\beta}/\lmd</annotation></semantics></math></span> instead of analytically when <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span>. Proving this is simple. We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>λ</mi></msub><mo>=</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>2</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>n</mi></mrow></msup><msup><mrow><mo fence="true">(</mo><mi>ln</mi><mo>⁡</mo><mi>n</mi><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mi>β</mi></mrow></msup><mo>≈</mo><msubsup><mo>∫</mo><mn>2</mn><mi mathvariant="normal">∞</mi></msubsup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>n</mi></mrow></msup><msup><mrow><mo fence="true">(</mo><mi>ln</mi><mo>⁡</mo><mi>n</mi><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mi>β</mi></mrow></msup><mi mathvariant="normal">d</mi><mi>n</mi><mo>=</mo><mfrac><mn>1</mn><mrow><mi>λ</mi><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mi>β</mi></msup></mrow></mfrac><msubsup><mo>∫</mo><mrow><mn>2</mn><mi>λ</mi></mrow><mi mathvariant="normal">∞</mi></msubsup><mfrac><mrow><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>x</mi></mrow></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>x</mi></mrow><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mi>ln</mi><mo>⁡</mo><mi>x</mi><mi mathvariant="normal">/</mi><mi>ln</mi><mo>⁡</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mi>β</mi></msup></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">Z_\lmd=\sum_{n=2}^\infty\e^{-\lmd n}\p{\ln n}^{-\beta}
\approx\int_2^\infty\e^{-\lmd n}\p{\ln n}^{-\beta}\d n
=\fr1{\lmd\p{-\ln\lmd}^\beta}\int_{2\lmd}^\infty
\fr{\e^{-x}\,\d x}{\p{1-\ln x/\ln\lmd}^\beta},</annotation></semantics></math></span> where the last step uses the substitution <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi><mo><mi mathvariant="normal">≔</mi></mo><mi>λ</mi><mi>n</mi></mrow><annotation encoding="application/x-tex">x\ceq\lmd n</annotation></semantics></math></span>. Using the binomial theorem, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>λ</mi></msub><mo>≈</mo><mfrac><mn>1</mn><mrow><mi>λ</mi><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mi>β</mi></msup></mrow></mfrac><msubsup><mo>∫</mo><mrow><mn>2</mn><mi>λ</mi></mrow><mi mathvariant="normal">∞</mi></msubsup><mi mathvariant="normal">d</mi><mi>x</mi><mtext> </mtext><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>x</mi></mrow></msup><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mrow><mo>−</mo><mi>β</mi></mrow><mi>k</mi></mfrac><mo fence="true">)</mo></mrow><msup><mrow><mo fence="true">(</mo><mfrac><mrow><mi>ln</mi><mo>⁡</mo><mi>x</mi></mrow><mrow><mo>−</mo><mi>ln</mi><mo>⁡</mo><mi>λ</mi></mrow></mfrac><mo fence="true">)</mo></mrow><mi>k</mi></msup><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">Z_\lmd\approx\fr1{\lmd\p{-\ln\lmd}^\beta}\int_{2\lmd}^\infty\d x\,\e^{-x}
\sum_{k=0}^\infty\binom{-\beta}k\p{\fr{\ln x}{-\ln\lmd}}^k,</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">(</mo><mfrac linethickness="0px"><mrow><mo>−</mo><mi>β</mi></mrow><mi>k</mi></mfrac><mo fence="true">)</mo></mrow><annotation encoding="application/x-tex">\binom{-\beta}k</annotation></semantics></math></span> is the binomial coefficient. Note that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Γ</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>z</mi><mo fence="true">)</mo></mrow><mo>=</mo><msubsup><mo>∫</mo><mn>0</mn><mi mathvariant="normal">∞</mi></msubsup><msup><mi>x</mi><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup><msup><mrow><mo fence="true">(</mo><mi>ln</mi><mo>⁡</mo><mi>x</mi><mo fence="true">)</mo></mrow><mi>k</mi></msup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>z</mi><mi>x</mi></mrow></msup><mi mathvariant="normal">d</mi><mi>x</mi></mrow><annotation encoding="application/x-tex">\fc{\Gma^{\p k}}z=\int_0^\infty x^{k-1}\p{\ln x}^k\e^{-zx}\d x</annotation></semantics></math></span>, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Γ</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup></mrow><annotation encoding="application/x-tex">\Gma^{\p k}</annotation></semantics></math></span> is the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi></mrow><annotation encoding="application/x-tex">k</annotation></semantics></math></span>th derivative to the Euler Gamma function, so the integral for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>x</mi></mrow><annotation encoding="application/x-tex">x</annotation></semantics></math></span> gives a factor <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">Γ</mi><mrow><mo fence="true">(</mo><mi>k</mi><mo fence="true">)</mo></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>1</mn><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc{\Gma^{\p k}}1</annotation></semantics></math></span> in the limit of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>λ</mi></msub><mo>≈</mo><mfrac><mn>1</mn><mrow><mi>λ</mi><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi>ln</mi><mo>⁡</mo><mi>λ</mi><mo fence="true">)</mo></mrow><mi>β</mi></msup></mrow></mfrac><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">Z_\lmd\approx\fr1{\lmd\p{-\ln\lmd}^\beta},</annotation></semantics></math></span> where only the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">k=0</annotation></semantics></math></span> term in the sum is retained for the leading contribution as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span>.</p>
<p>However, for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>k</mi><mo>∈</mo><msup><mi mathvariant="double-struck">Z</mi><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">k\in\bZ^+</annotation></semantics></math></span>, one can always choose functions <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mo separator="true">,</mo><mi>χ</mi></mrow><annotation encoding="application/x-tex">h,\chi</annotation></semantics></math></span> so that the sum <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>n</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_n\fc fn\fc\chi{\lmd\fc hn}</annotation></semantics></math></span> goes like <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi>λ</mi><mrow><mo>−</mo><mi>k</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\lmd^{-k}</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span>. For example, for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>x</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>x</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\fc\chi x\ceq\e^{-x}</annotation></semantics></math></span> (equivalent to the <a href="https://en.wikipedia.org/wiki/Divergent_series#Abelian_means" target="_blank" rel="external">Abelian mean</a> or the <a href="https://en.wikipedia.org/wiki/Zeta_function_regularization#Heat_kernel_regularization" target="_blank" rel="external">heat-kernel regularization</a>), we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>λ</mi></msub><mo>≈</mo><msubsup><mo>∫</mo><msub><mi>n</mi><mn>0</mn></msub><mi mathvariant="normal">∞</mi></msubsup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>λ</mi><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></mrow></msup><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>n</mi><mo>=</mo><msubsup><mo>∫</mo><mrow><mi>λ</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>n</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow></mrow><mi mathvariant="normal">∞</mi></msubsup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>x</mi></mrow></msup><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>h</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>x</mi><mi>λ</mi></mfrac><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mfrac><mrow><mi mathvariant="normal">d</mi><mi>x</mi></mrow><mrow><mi>λ</mi><msup><mi>h</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>h</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>x</mi><mi>λ</mi></mfrac><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">Z_\lmd\approx\int_{n_0}^\infty\e^{-\lmd\fc hn}\fc fn\d n
=\int_{\lmd\fc f{n_0}}^\infty\e^{-x}\fc f{\fc{h^{-1}}{\fr x\lmd}}\fr{\d x}{\lmd\fc{h&#x27;}{\fc{h^{-1}}{\fr x\lmd}}}.</annotation></semantics></math></span> We can choose <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>h</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mrow><mo fence="true">(</mo><mo>∫</mo><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">d</mi><mi>n</mi><mo fence="true">)</mo></mrow><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mi>k</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\fc hn\ceq\p{\int\fc fn\d n}^{1/k}</annotation></semantics></math></span> so that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>h</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>x</mi><mi>λ</mi></mfrac><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mo>=</mo><mi>k</mi><msup><mrow><mo fence="true">(</mo><mfrac><mi>x</mi><mi>λ</mi></mfrac><mo fence="true">)</mo></mrow><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup><msup><mi>h</mi><mo mathvariant="normal" lspace="0em" rspace="0em">′</mo></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi>h</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mi>x</mi><mi>λ</mi></mfrac><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc f{\fc{h^{-1}}{\fr x\lmd}}=k\p{\fr x\lmd}^{k-1}\fc{h&#x27;}{\fc{h^{-1}}{\fr x\lmd}}.</annotation></semantics></math></span> Therefore, as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi><mo>→</mo><msup><mn>0</mn><mo>+</mo></msup></mrow><annotation encoding="application/x-tex">\lmd\to0^+</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>λ</mi></msub><mo>≈</mo><mfrac><mn>1</mn><mi>λ</mi></mfrac><msubsup><mo>∫</mo><mrow><mi>λ</mi><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msub><mi>n</mi><mn>0</mn></msub><mo fence="true">)</mo></mrow></mrow><mi mathvariant="normal">∞</mi></msubsup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>x</mi></mrow></msup><mi>k</mi><msup><mrow><mo fence="true">(</mo><mfrac><mi>x</mi><mi>λ</mi></mfrac><mo fence="true">)</mo></mrow><mrow><mi>k</mi><mo>−</mo><mn>1</mn></mrow></msup><mtext> </mtext><mi mathvariant="normal">d</mi><mi>x</mi><mo>≈</mo><mfrac><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow><msup><mi>λ</mi><mi>k</mi></msup></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">Z_\lmd\approx\fr1\lmd\int_{\lmd\fc f{n_0}}^\infty\e^{-x}k\p{\fr x\lmd}^{k-1}\,\d x\approx\fr{k!}{\lmd^k}.</annotation></semantics></math></span> However, this does not guarantee that the Laurent series expansion exists. This is a good trial, though. My math capacity does not allow me to confirm whether this is the case for the example of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>ln</mi><mo>⁡</mo><mi>ln</mi><mo>⁡</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">E_n\ceq\ln\ln n</annotation></semantics></math></span>.</p>
</details>
<h2 data-label="0.4" id="regularizing-the-hydrogen-atom">Regularizing the hydrogen atom</h2>
<p>After saying so much about cutoff regularization in general, what does it say about the partition function of a hydrogen atom? Try multiplying the cutoff function <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>n</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\chi{\lmd n}</annotation></semantics></math></span> to the summand in Equation <a href="#eq:Z">1</a>: <span id="eq:Z-reg" data-label="(4)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>λ</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>n</mi><mn>2</mn></msup><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></msup><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>n</mi><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>n</mi><mrow><mn>2</mn><mo>−</mo><mn>2</mn><mi>k</mi></mrow></msup><mi>χ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>λ</mi><mi>n</mi><mo fence="true">)</mo></mrow><mo>→</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">Z_\lmd\ceq\sum_{n=1}^\infty n^2\e^{\beta/2n^2}\fc\chi{\lmd n}
=\sum_{k=0}^\infty\fr{\p{\beta/2}^k}{k!}\sum_{n=1}^\infty n^{2-2k}\fc\chi{\lmd n}
\to\sum_{k=0}^\infty\fr{\p{\beta/2}^k}{k!}\fc\zeta{2k-2},</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(4)</annotation></semantics></math></span></span> </span></span> where the last step utilizes the result for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>n</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\fc fn\ceq n^k</annotation></semantics></math></span>, with which we get rid of the dependence on <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>λ</mi></mrow><annotation encoding="application/x-tex">\lmd</annotation></semantics></math></span>. The last expression is then identified as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span>.</p>
<p>Now that we get the expression of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span>, we can get some useful things. However, this time we cannot simply use the summand divided by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> to get the probability of each energy level because that will break the normalization of the probability distribution. What we can do, however, is to find the expectation value of the energy using <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mo>−</mo><mi mathvariant="normal">d</mi><mi>ln</mi><mo>⁡</mo><mi>Z</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mi>β</mi></mrow><annotation encoding="application/x-tex">\a E=-\d\ln Z/\d\beta</annotation></semantics></math></span>. On the other hand, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>≤</mo><msub><mi>p</mi><mn>1</mn></msub><msub><mi>E</mi><mn>1</mn></msub><mo>+</mo><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo fence="true">)</mo></mrow><msub><mi>E</mi><mi mathvariant="normal">∞</mi></msub><mo>=</mo><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\a E\le p_1E_1+\p{1-p_1}E_\infty=-p_1/2</annotation></semantics></math></span>, so the probability <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">1-p_1</annotation></semantics></math></span> that the system is not in the ground state is bounded above by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>2</mn><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>+</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">2\a E+1</annotation></semantics></math></span>.</p>
<p>The first check to do is to verify that this result is consistent with the known behavior of the system at cold zero temperature, where the system is almost certainly in the ground state; in other words, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>β</mi><mo>→</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow></msub><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\lim_{\beta\to+\infty}\a E=-1/2</annotation></semantics></math></span>. To get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> for large <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span>, we notice that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>+</mo><mi mathvariant="normal">∞</mi><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\fc\zeta{+\infty}=1</annotation></semantics></math></span>, so <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi><mo>≈</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">Z\approx\e^{\beta/2}</annotation></semantics></math></span>, and this leads to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>≈</mo><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\a E\approx-1/2</annotation></semantics></math></span> as expected.</p>
<p>Now, we may try to estimate <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> for finite but large <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> (e.g., <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><msup><mn>10</mn><mn>3</mn></msup></mrow><annotation encoding="application/x-tex">\beta=10^3</annotation></semantics></math></span>) and thus give an upper bound for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">1-p_1</annotation></semantics></math></span>. We can study the asymptotic behavior of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> for cold positive temperature. It turns out that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo>≈</mo><mn>3</mn><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mn>3</mn><mi>β</mi><mi mathvariant="normal">/</mi><mn>8</mn></mrow></msup></mrow><annotation encoding="application/x-tex">1-p_1\approx3\e^{-3\beta/8}</annotation></semantics></math></span>, which is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mn>10</mn><mrow><mo>−</mo><mn>163</mn></mrow></msup></mrow><annotation encoding="application/x-tex">10^{-163}</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><msup><mn>10</mn><mn>3</mn></msup></mrow><annotation encoding="application/x-tex">\beta=10^3</annotation></semantics></math></span>. As we can see, without any physical arguments but only with regularization, we get a result that seems sensible and well between the results in the last section for a hydrogen atom confined in a box with a typical macroscopic size or the size of the universe.</p>
<details>
<summary>
Derivation of the asymptotic behavior at cold positive temperature
</summary>
<p>We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>Z</mi><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mo fence="true">)</mo></mrow><mo separator="true">,</mo><mspace width="1em"/><mfrac><mrow><mi mathvariant="normal">d</mi><mi>Z</mi></mrow><mrow><mi mathvariant="normal">d</mi><mi>β</mi></mrow></mfrac><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">Z=\sum_{k=0}^\infty\fr{\p{\beta/2}^k}{k!}\fc\zeta{2k-2},\quad
\fr{\d Z}{\d\beta}=\fr12\sum_{k=0}^\infty\fr{\p{\beta/2}^k}{k!}\fc\zeta{2k}.</annotation></semantics></math></span> Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>Z</mi><mo>−</mo><mn>2</mn><mfrac><mrow><mi mathvariant="normal">d</mi><mi>Z</mi></mrow><mrow><mi mathvariant="normal">d</mi><mi>β</mi></mrow></mfrac><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mrow><mo fence="true">(</mo><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mo fence="true">)</mo></mrow><mo>−</mo><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">Z-2\fr{\d Z}{\d\beta}=\sum_{k=0}^\infty\fr{\p{\beta/2}^k}{k!}
\p{\fc\zeta{2k-2}-\fc\zeta{2k}}.</annotation></semantics></math></span> We can try to find the asymptotic behavior of the coefficient of each term. We have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mo fence="true">)</mo></mrow><mo>−</mo><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><msup><mi>n</mi><mrow><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn></mrow></msup></mfrac><mo>−</mo><mfrac><mn>1</mn><msup><mi>n</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mo>=</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><mrow><msup><mi>n</mi><mn>2</mn></msup><mo>−</mo><mn>1</mn></mrow><msup><mi>n</mi><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo>=</mo><mfrac><mn>3</mn><msup><mn>2</mn><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><msup><mn>3</mn><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">\fc\zeta{2k-2}-\fc\zeta{2k}=\sum_{n=1}^\infty\p{\fr1{n^{2k-2}}-\fr1{n^{2k}}}
=\sum_{n=1}^\infty\fr{n^2-1}{n^{2k}}
=\fr{3}{2^{2k}}+\O{\fr1{3^{2k}}}.</annotation></semantics></math></span> We also have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mo fence="true">)</mo></mrow><mo>=</mo><mn>1</mn><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mn>2</mn><mrow><mo>−</mo><mn>2</mn><mi>k</mi></mrow></msup><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\zeta{2k-2}=1+\O{2^{-2k}}</annotation></semantics></math></span>, of course. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo>≤</mo><mn>2</mn><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>+</mo><mn>1</mn><mo>=</mo><mfrac><mrow><mi>Z</mi><mo>−</mo><mn>2</mn><mi mathvariant="normal">d</mi><mi>Z</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mi>β</mi></mrow><mi>Z</mi></mfrac><mo>=</mo><mfrac><mrow><munder><mo>∑</mo><mi>k</mi></munder><mfrac><msup><mrow><mo fence="true">(</mo><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mrow><mo fence="true">(</mo><mfrac><mn>3</mn><msup><mn>2</mn><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><msup><mn>3</mn><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow><mrow><munder><mo>∑</mo><mi>k</mi></munder><mfrac><msup><mrow><mo fence="true">(</mo><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><msup><mn>2</mn><mrow><mn>2</mn><mi>k</mi></mrow></msup></mfrac><mo fence="true">)</mo></mrow><mo fence="true">)</mo></mrow></mrow></mfrac><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">1-p_1\le2\a E+1=\fr{Z-2\d Z/\d\beta}Z
=\fr{\sum_k\fr{\p{\beta/2}^k}{k!}\p{\fr3{2^{2k}}+\O{\fr1{3^{2k}}}}}{\sum_k\fr{\p{\beta/2}^k}{k!}\p{1+\O{\fr1{2^{2k}}}}}.</annotation></semantics></math></span> These power series are then simply exponential functions. Therefore, <span id="eq:1-p1" data-label="(5)"><span class="katex-display-table"> <span class="katex-display-numbered"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo>≤</mo><mfrac><mrow><mn>3</mn><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>8</mn></mrow></msup><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>18</mn></mrow></msup><mo fence="true">)</mo></mrow></mrow><mrow><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>8</mn></mrow></msup><mo fence="true">)</mo></mrow></mrow></mfrac><mo>=</mo><mn>3</mn><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mn>3</mn><mi>β</mi><mi mathvariant="normal">/</mi><mn>8</mn></mrow></msup><mo>+</mo><mi mathvariant="normal">O</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mn>4</mn><mi>β</mi><mi mathvariant="normal">/</mi><mn>9</mn></mrow></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">1-p_1\le\fr{3\e^{\beta/8}+\O{\e^{\beta/18}}}{\e^{\beta/2}+\O{\e^{\beta/8}}}
=3\e^{-3\beta/8}+\O{\e^{-4\beta/9}}.</annotation></semantics></math></span></span> <span class="katex-display-number"><span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mo stretchy="false">(</mo><mn>5</mn><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">(5)</annotation></semantics></math></span></span> </span></span></p>
</details>
<p>Although the asymptotic behavior at cold temperature (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta\to+\infty</annotation></semantics></math></span>) looks good, its behavior is very wrong at some regimes. At some temperature, the monoticity of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> reverts, and then it gets even lower than the ground state energy <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">-1/2</annotation></semantics></math></span> and heads all the way to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">-\infty</annotation></semantics></math></span> at some finite temperature.This is clearly unphysical. This suggests that it is wrong to use the regularized result.</p>
<details>
<summary>
Plots
</summary>
<!--
Z[b_]=Sum[Zeta[2k-2](b/2)^k/k!,{k,1,Infinity}]
ZDataPts=Table[{b,N[Z[b]]},{b,-1,2,0.03}];
dZdbDataPts=Table[{b,N[Z'[b]]},{b,-1,2,0.03}];
EDataPts2=Table[{b,N[-Z'[b]/Z[b]]},{b,10.7,20.7,0.1}];
Export["Data.csv",ZDataPts,"CSV"]
Export["dZdbData.csv",dZdbDataPts,"CSV"]
Export["EData.csv",EDataPts2,"CSV"]
-->
<!--
#!/usr/bin/env python3

import matplotlib.pyplot as plt
import numpy as np
import csv

plt.rcParams.update({
	'text.usetex': True,
	'font.size': 11,
	'font.family': 'lmodern',
	'text.latex.preamble': r'''
		\usepackage{lmodern}
		\renewcommand{\d}{\mathrm{d}}
	'''
})
def savefig(filename):
	plt.savefig(filename, transparent=True, format='pdf', bbox_inches='tight')
	plt.figure()

bRoot = 1.07209
dbRoot = 0.55296
bECross = 11.2485
bEPeak = 13.80209489
ECross = -0.5
EPeak = -0.497781

def read_csv(filename):
	x_list = []
	y_list = []
	with open(filename) as file:
		for x, y in csv.reader(file):
			x_list.append(float(x))
			y_list.append(float(y))
	return np.array(x_list), np.array(y_list)

b, z = read_csv('ZData.csv')
b, dzdb = read_csv('dZdbData.csv')
plt.plot(b, z, label=r'$Z$')
plt.plot(b, dzdb, label=r'$\d Z/\d\beta$')
plt.axhline(0, color='black', linestyle='--')
plt.xlabel(r'$\beta$')
plt.xlim(b[0], b[-1])
plt.legend()
savefig('plotZ.pdf')

e_split = [[]]
i_start = [0]
for i in range(b.shape[0]-1):
	ei = -dzdb[i]/z[i]
	eip1 = -dzdb[i+1]/z[i+1]
	e_split[-1].append(ei)
	if abs(ei - eip1) > 10:
		e_split.append([])
		i_start.append(i+1)
e_split[-1].append(eip1)
for i in range(len(e_split)):
	plt.plot(b[i_start[i]:i_start[i]+len(e_split[i])], e_split[i], color='tab:blue')
plt.axvline(bRoot, linestyle='--', color='black')
plt.axvline(0, linestyle='--', color='black')
plt.xlabel(r'$\beta$')
plt.ylabel(r'$\left<E\right>$')
plt.ylim(-15, 15)
plt.xlim(b[0], b[-1])
savefig('plotE.pdf')

b, e = read_csv('EData.csv')
plt.plot(b, e)
plt.axhline(ECross, linestyle='--', color='black')
#plt.scatter([bECross, bEPeak], [ECross, EPeak])
plt.xlabel(r'$\beta$')
plt.ylabel(r'$\left<E\right>$')
plt.xlim(b[0], b[-1])
savefig('plotE2.pdf')
-->
<p>Here is a plot that shows how <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> starts to decrease with temperature at some point and becomes even lower than the ground state energy:</p>
<figure>
<img src="/assets/images/figures/2024-06-30-regularize-hydrogen/plotE2.svg" class="dark-adaptive" alt="Plot of  vs. " />
<figcaption aria-hidden="true">Plot of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> vs. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span></figcaption>
</figure>
<p>Here is a plot that shows how <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> goes to infinity at different temperatures:</p>
<figure>
<img src="/assets/images/figures/2024-06-30-regularize-hydrogen/plotE.svg" class="dark-adaptive" alt="Plot of  vs. " />
<figcaption aria-hidden="true">Plot of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> vs. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span></figcaption>
</figure>
<p>Here are also plots for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">d</mi><mi>Z</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mi>β</mi></mrow><annotation encoding="application/x-tex">\d Z/\d\beta</annotation></semantics></math></span>, if you are curious:</p>
<figure>
<img src="/assets/images/figures/2024-06-30-regularize-hydrogen/plotZ.svg" class="dark-adaptive" alt="Plot of  and  vs. " />
<figcaption aria-hidden="true">Plot of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">d</mi><mi>Z</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mi>β</mi></mrow><annotation encoding="application/x-tex">\d Z/\d\beta</annotation></semantics></math></span> vs. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span></figcaption>
</figure>
<p>The two vertical asymptotes of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> corresponds to the two zeros of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span>, which are <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\beta=0</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mn>1.0721</mn></mrow><annotation encoding="application/x-tex">\beta=1.0721</annotation></semantics></math></span>. It also has a zero, correponding to the zero of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">d</mi><mi>Z</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mi>β</mi></mrow><annotation encoding="application/x-tex">\d Z/\d\beta</annotation></semantics></math></span> at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mn>0.5530</mn></mrow><annotation encoding="application/x-tex">\beta=0.5530</annotation></semantics></math></span>. The point where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>=</mo><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">\a E=-1/2</annotation></semantics></math></span> is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mn>11.2486</mn></mrow><annotation encoding="application/x-tex">\beta=11.2486</annotation></semantics></math></span>, and the point where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><annotation encoding="application/x-tex">\a E</annotation></semantics></math></span> has a local maximum is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mn>13.8021</mn></mrow><annotation encoding="application/x-tex">\beta=13.8021</annotation></semantics></math></span>.</p>
</details>
<p>Another aspect where we can see that this result is wrong is that, if we look at the hot negative temperature limit <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta\to-\infty</annotation></semantics></math></span>, although we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>→</mo><mn>0</mn><mo>=</mo><msub><mrow><mi>sup</mi><mo>⁡</mo></mrow><mi>n</mi></msub><msub><mi>E</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">\a E\to0=\sup_nE_n</annotation></semantics></math></span> as expected, it is approaching from the wrong side. In fact, because <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">Z&gt;0</annotation></semantics></math></span> while <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">d</mi><mi>Z</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mi>β</mi><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\d Z/\d\beta&lt;0</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\beta&lt;0</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\a E&gt;0</annotation></semantics></math></span> for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\beta&lt;0</annotation></semantics></math></span>, exceeding the supremum of the energy levels, which is unphysical.</p>
<details>
<summary>
Derivation of the hot negative temperature limit
</summary>
<!--
First, we need (see Equation 40 in
[Borwein et al., 2000](https://doi.org/10.1016/S0377-0427(00)00336-8))

$$\sum_{k=0}^\infty x^{2k}\fc\zeta{2k}=-\fr\pi2x\cot\pi x.$$

We can then extract $\fc\zeta{2k}$ from this using the residue theorem:

$$\fc\zeta{2k}=\fr1{2\pi\i}\oint\fr{\d x}{x^{2k+1}}\p{-\fr\pi2x\cot\pi x}.$$

Plug this into the expression of $Z$:

$$Z=\sum_{k=0}^\infty\fr{\p{\beta/2}^k}{k!}\fr1{2\pi\i}\oint\fr{\d x}{x^{2k-1}}\p{-\fr\pi2x\cot\pi x}
=\fr\i4\oint\d x\,x^2\e^{\beta/2x^2}\cot\pi x.$$
-->
<p>Here is a non-rigorous derivation. We can rewrite the regularized <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> in a similar form as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mtable rowspacing="0.25em" columnalign="right left" columnspacing="0em"><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mi>Z</mi></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><mo>−</mo><mfrac><mi>β</mi><mn>4</mn></mfrac><mo>+</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>n</mi><mn>2</mn></msup><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></msup><mo>−</mo><mn>1</mn><mo>−</mo><mfrac><mi>β</mi><mrow><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow></mrow></mstyle></mtd></mtr><mtr><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow></mrow></mstyle></mtd><mtd><mstyle scriptlevel="0" displaystyle="true"><mrow><mrow></mrow><mo>=</mo><munder><mrow><mi>lim</mi><mo>⁡</mo></mrow><mrow><mi>N</mi><mo>→</mo><mi mathvariant="normal">∞</mi></mrow></munder><mrow><mo fence="true">(</mo><mo>−</mo><mrow><mo fence="true">(</mo><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>+</mo><mfrac><mi>N</mi><mn>2</mn></mfrac><mo fence="true">)</mo></mrow><mi>β</mi><mo>−</mo><mfrac><mn>1</mn><mn>6</mn></mfrac><mi>N</mi><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><mi>N</mi><mo fence="true">)</mo></mrow><mrow><mo fence="true">(</mo><mn>1</mn><mo>+</mo><mn>2</mn><mi>N</mi><mo fence="true">)</mo></mrow><mo>+</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>n</mi><mn>2</mn></msup><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></msup><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow></mstyle></mtd></mtr></mtable><annotation encoding="application/x-tex">\begin{align*}
Z&amp;=-\fr\beta4+\sum_{n=1}^\infty n^2\p{\e^{\beta/2n^2}-1-\fr\beta{2n^2}}\\
&amp;=\lim_{N\to\infty}\p{-\p{\fr14+\fr N2}\beta-\fr16N\p{1+N}\p{1+2N}+\sum_{n=1}^Nn^2\e^{\beta/2n^2}}.
\end{align*}</annotation></semantics></math></span> For finite <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>, it has a straight line asymptote as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta\to-\infty</annotation></semantics></math></span>. The envelope of this family of straight lines (parametrized by <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>N</mi></mrow><annotation encoding="application/x-tex">N</annotation></semantics></math></span>) is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi><mo>=</mo><msup><mrow><mo fence="true">(</mo><mn>1</mn><mo>−</mo><mn>6</mn><mi>β</mi><mo fence="true">)</mo></mrow><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup><mi mathvariant="normal">/</mi><mn>36</mn><msqrt><mn>3</mn></msqrt></mrow><annotation encoding="application/x-tex">Z=\p{1-6\beta}^{3/2}/36\sqrt3</annotation></semantics></math></span>, which means that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi><mo>∼</mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi>β</mi><mo fence="true">)</mo></mrow><mrow><mn>3</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">Z\sim\p{-\beta}^{3/2}</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta\to-\infty</annotation></semantics></math></span>, where “<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo>∼</mo></mrow><annotation encoding="application/x-tex">\sim</annotation></semantics></math></span>” means that the ratio of the two sides approaches a positive constant. Similarly, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">d</mi><mi>Z</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><mi>β</mi><mo>∼</mo><mo>−</mo><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi>β</mi><mo fence="true">)</mo></mrow><mrow><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\d Z/\d\beta\sim-\p{-\beta}^{1/2}</annotation></semantics></math></span>. Therefore, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>∼</mo><mo>−</mo><msup><mi>β</mi><mrow><mo>−</mo><mn>1</mn></mrow></msup></mrow><annotation encoding="application/x-tex">\a E\sim-\beta^{-1}</annotation></semantics></math></span> as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>→</mo><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta\to-\infty</annotation></semantics></math></span>.</p>
</details>
<details>
<summary>
Another regularization special to the hydrogen atom
</summary>
<p>Here is a special regularization method for the hydrogen atom which is not applicable to general systems. Consider the second derivative <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msup><mi mathvariant="normal">d</mi><mn>2</mn></msup><mi>Z</mi><mi mathvariant="normal">/</mi><mi mathvariant="normal">d</mi><msup><mi>β</mi><mn>2</mn></msup></mrow><annotation encoding="application/x-tex">\d^2Z/\d\beta^2</annotation></semantics></math></span> by differentiating the summand twice w.r.t. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> in Equation <a href="#eq:Z">1</a>, and then take twice antiderivative w.r.t. <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span>. This gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><mi>Z</mi><mo>=</mo><mi>A</mi><mo>+</mo><mi>B</mi><mi>β</mi><mo>+</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>k</mi><mo>−</mo><mn>2</mn><mo fence="true">)</mo></mrow><mo>=</mo><mi>A</mi><mo>+</mo><mi>B</mi><mi>β</mi><mo>+</mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>n</mi><mn>2</mn></msup><mrow><mo fence="true">(</mo><msup><mi mathvariant="normal">e</mi><mrow><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></msup><mo>−</mo><mn>1</mn><mo>−</mo><mfrac><mi>β</mi><mrow><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></mfrac><mo fence="true">)</mo></mrow><mo separator="true">,</mo></mrow><annotation encoding="application/x-tex">Z=A+B\beta+\sum_{k=0}^\infty\fr{\p{\beta/2}^k}{k!}\fc\zeta{2k-2}
=A+B\beta+\sum_{n=1}^\infty n^2\p{\e^{\beta/2n^2}-1-\fr{\beta}{2n^2}},</annotation></semantics></math></span> where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mo separator="true">,</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">A,B</annotation></semantics></math></span> are integration constants. The result from the cutoff regularization and the zeta function regularization is simply <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">A=0</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi><mo>=</mo><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>4</mn></mrow><annotation encoding="application/x-tex">B=-1/4</annotation></semantics></math></span>. What is interesting about this is that it already determines the asymptotic behavior of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">1-p_1</annotation></semantics></math></span> at cold temperature, which is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub><mo>≈</mo><mn>3</mn><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mn>3</mn><mi>β</mi><mi mathvariant="normal">/</mi><mn>8</mn></mrow></msup></mrow><annotation encoding="application/x-tex">1-p_1\approx3\e^{-3\beta/8}</annotation></semantics></math></span> (see Equation <a href="#eq:1-p1">5</a>), no matter what <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>A</mi><mo separator="true">,</mo><mi>B</mi></mrow><annotation encoding="application/x-tex">A,B</annotation></semantics></math></span> are.</p>
</details>
<h2 data-label="0.5" id="zeta-function-regularization">Zeta function regularization</h2>
<p>For a series <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>n</mi></msub><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_n\fc fn</annotation></semantics></math></span>, if it diverges, we can instead consider <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>n</mi></msub><mi>f</mi><mtext> ⁣</mtext><msup><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mrow><mo>−</mo><mi>s</mi></mrow></msup></mrow><annotation encoding="application/x-tex">\sum_n\fc fn^{-s}</annotation></semantics></math></span> for some <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span> whose real part is big enough for the series to converge. Then, we can try to analytically continue to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>=</mo><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">s=-1</annotation></semantics></math></span> to get a finite result for the original series. This is called the zeta function regularization.</p>
<details>
<summary>
When zeta function regularization fails
</summary>
<p>For the zeta function regularization to work, the asymptotic behavior of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc fn</annotation></semantics></math></span> needs to be a non-trivial power law as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi><mo>→</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">n\to+\infty</annotation></semantics></math></span>. Otherwise, the sum may not converge for any <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span>. For example, consider <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo>=</mo><mi>ln</mi><mo>⁡</mo><mi>ln</mi><mo>⁡</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">E_n=\ln\ln n</annotation></semantics></math></span> (with no degeneracies). The partition function with zeta function regularization is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>s</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>2</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mrow><mo fence="true">(</mo><mi>ln</mi><mo>⁡</mo><mi>n</mi><mo fence="true">)</mo></mrow><mrow><mi>β</mi><mi>s</mi></mrow></msup><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">Z_s\ceq\sum_{n=2}^\infty\p{\ln n}^{\beta s}.</annotation></semantics></math></span> This series is divergent for any complex <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi></mrow><annotation encoding="application/x-tex">s</annotation></semantics></math></span>.</p>
</details>
<p>A famous example is <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><mi>n</mi></mrow><annotation encoding="application/x-tex">\fc fn\ceq n</annotation></semantics></math></span>, which gives <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>n</mi></msub><mi>n</mi><mo>=</mo><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mn>1</mn><mo fence="true">)</mo></mrow><mo>=</mo><mo>−</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>12</mn></mrow><annotation encoding="application/x-tex">\sum_nn=\fc\zeta{-1}=-1/12</annotation></semantics></math></span>. Generally, for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>f</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>n</mi><mo fence="true">)</mo></mrow><mo><mi mathvariant="normal">≔</mi></mo><msup><mi>n</mi><mi>k</mi></msup></mrow><annotation encoding="application/x-tex">\fc fn\ceq n^k</annotation></semantics></math></span>, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mo>∑</mo><mi>n</mi></msub><msup><mi>n</mi><mi>k</mi></msup><mo>=</mo><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mo>−</mo><mi>k</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\sum_nn^k=\fc\zeta{-k}</annotation></semantics></math></span>. This is the same as the result for the simple cutoff regularization. This raises the question of whether the results obtained from those two methods are necessary the same whenever they both exist. I do not have a rigorous proof, but a strong argument is that both of them are the result of some analytic continuation, so they should be the same by the uniqueness of analytic continuation.</p>
<p>We can check this with the hydrogen atom. We have, for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>&gt;</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn></mrow><annotation encoding="application/x-tex">s&gt;1/2</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> real, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML" display="block"><semantics><mrow><msub><mi>Z</mi><mi>s</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>n</mi><mrow><mo>−</mo><mn>2</mn><mi>s</mi></mrow></msup><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>s</mi><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><msup><mi>n</mi><mn>2</mn></msup></mrow></msup><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi>s</mi><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><munderover><mo>∑</mo><mrow><mi>n</mi><mo>=</mo><mn>1</mn></mrow><mi mathvariant="normal">∞</mi></munderover><msup><mi>n</mi><mrow><mo>−</mo><mn>2</mn><mi>s</mi><mo>−</mo><mn>2</mn><mi>k</mi></mrow></msup><mo>=</mo><munderover><mo>∑</mo><mrow><mi>k</mi><mo>=</mo><mn>0</mn></mrow><mi mathvariant="normal">∞</mi></munderover><mfrac><msup><mrow><mo fence="true">(</mo><mo>−</mo><mi>s</mi><mi>β</mi><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">)</mo></mrow><mi>k</mi></msup><mrow><mi>k</mi><mo stretchy="false">!</mo></mrow></mfrac><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mn>2</mn><mi>s</mi><mo>+</mo><mn>2</mn><mi>k</mi><mo fence="true">)</mo></mrow><mi mathvariant="normal">.</mi></mrow><annotation encoding="application/x-tex">Z_s\ceq\sum_{n=1}^\infty n^{-2s}\e^{-s\beta/2n^2}
=\sum_{k=0}^\infty\fr{\p{-s\beta/2}^k}{k!}\sum_{n=1}^\infty n^{-2s-2k}
=\sum_{k=0}^\infty\fr{\p{-s\beta/2}^k}{k!}\fc\zeta{2s+2k}.</annotation></semantics></math></span> Analytically continue this result to <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>s</mi><mo>=</mo><mo>−</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">s=-1</annotation></semantics></math></span>, and then this gives the same result as Equation <a href="#eq:Z-reg">4</a>. The rest will be the same as the last section.</p>
<h2 data-label="0.6" id="can-we-trust-this-result">Can we trust this result?</h2>
<p>However, can we trust this result, though? Everything is becoming fishy. Probabilities are no longer well-defined because how we normally derive them using <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> is causing a divergent sum of probabilities and thus invalid. Yet somehow we are trying to estimate the bound of the probability of the system not being in the ground state and getting an expected result. You must have been feeling uncomfortable about this.</p>
<p>The first thing to ask is what we mean by “the expectation value” when the probability distribution is not even well-defined. If it means nothing physical, can we still trust its expression? The simple answer is no.</p>
<p>As we already see, although the result at cold temperature is sensible, the result at some regimes is clearly unphysical. We can also see similar problems with other systems. Consider the system that has energy levels <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo>=</mo><mi>ln</mi><mo>⁡</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">E_n=\ln n</annotation></semantics></math></span> (with no degeneracies). We can easily get <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi><mo>=</mo><msub><mo>∑</mo><mi>n</mi></msub><msup><mi>n</mi><mrow><mo>−</mo><mi>β</mi></mrow></msup><mo>=</mo><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">Z=\sum_nn^{-\beta}=\fc\zeta\beta</annotation></semantics></math></span>, and thus there is a absi at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\beta=1</annotation></semantics></math></span>. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>&gt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\beta&gt;1</annotation></semantics></math></span>, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> converges, and everything looks good. For <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi><mo>&lt;</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\beta&lt;1</annotation></semantics></math></span>, the system is so hot that <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> diverges. Previous arguments suggest that, in this region, the regularized <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> is still <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>ζ</mi><mtext> ⁣</mtext><mrow><mo fence="true">(</mo><mi>β</mi><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">\fc\zeta\beta</annotation></semantics></math></span>. However, we then have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">⟨</mo><mi>E</mi><mo fence="true">⟩</mo></mrow><mo>&lt;</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\a E&lt;0</annotation></semantics></math></span> in this region, which is lower than the ground state energy. This clearly should not be trusted.</p>
<p>In another aspect, we should note that since the estimation for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>1</mn><mo>−</mo><msub><mi>p</mi><mn>1</mn></msub></mrow><annotation encoding="application/x-tex">1-p_1</annotation></semantics></math></span> does not depend on the size of the box confining the hydrogen atom, its rough agreement with the result in the last section should be considered a coincidence.</p>
<p>Another thing to note is that the result of the regularizations depend on whether we “flatten” the energy levels. We can “flatten” all the energy levels: pretend no degeneracies exist. For example, suppose a system with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>n</mi></mrow><annotation encoding="application/x-tex">g_n\ceq n</annotation></semantics></math></span> and <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>n</mi></mrow><annotation encoding="application/x-tex">E_n\ceq n</annotation></semantics></math></span>. However, we can rewrite the same system as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mn>1</mn><mo separator="true">,</mo><mn>2</mn><mo separator="true">,</mo><mn>2</mn><mo separator="true">,</mo><mn>3</mn><mo separator="true">,</mo><mn>3</mn><mo separator="true">,</mo><mn>3</mn><mo separator="true">,</mo><mo>…</mo></mrow><annotation encoding="application/x-tex">E_n\ceq1,2,2,3,3,3,\ldots</annotation></semantics></math></span> (or equivalently <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mrow><mo fence="true">⌊</mo><msqrt><mrow><mn>2</mn><mi>n</mi></mrow></msqrt><mo>+</mo><mn>1</mn><mi mathvariant="normal">/</mi><mn>2</mn><mo fence="true">⌋</mo></mrow></mrow><annotation encoding="application/x-tex">E_n\ceq\floor{\sqrt{2n}+1/2}</annotation></semantics></math></span>) <a href="#fn1" class="footnote-ref" id="fnref1" role="doc-noteref"><sup>1</sup></a>, with no degeneracies. This “re-grouping” of the energy levels can affect the result of regularizations and whether a zeta function regularization exists. For an immediate example, if we flatten the energy levels of the hydrogen atom, the zeta function regularization does not exist. Another simple example is that, for a system with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo>=</mo><mrow><mi mathvariant="normal">c</mi><mi mathvariant="normal">o</mi><mi mathvariant="normal">n</mi><mi mathvariant="normal">s</mi><mi mathvariant="normal">t</mi></mrow></mrow><annotation encoding="application/x-tex">E_n=\mrm{const}</annotation></semantics></math></span>, we can essentially re-group the all-degenerate states to have any positive integer sequence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">g_n</annotation></semantics></math></span> to get very arbitrary results for the partition function.</p>
<h2 data-label="0.7" id="abscissa-of-convergence">Abscissa of convergence</h2>
<p>Forget about the hydrogen atom, and let us consider a general system with (ever-increasing) energy levels <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">E_n</annotation></semantics></math></span> and degeneracies <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>g</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">g_n</annotation></semantics></math></span>. For a given system, there is an abscissa of convergence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub></mrow><annotation encoding="application/x-tex">\beta_\mrm c</annotation></semantics></math></span>, below (hotter than) which the partition function diverges. In other words, <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi><mo><mi mathvariant="normal">≔</mi></mo><msub><mo>∑</mo><mi>n</mi></msub><msub><mi>g</mi><mi>n</mi></msub><msup><mi mathvariant="normal">e</mi><mrow><mo>−</mo><mi>β</mi><msub><mi>E</mi><mi>n</mi></msub></mrow></msup></mrow><annotation encoding="application/x-tex">Z\ceq\sum_ng_n\e^{-\beta E_n}</annotation></semantics></math></span> converges for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Re</mi><mo>⁡</mo><mi>β</mi><mo>&gt;</mo><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub></mrow><annotation encoding="application/x-tex">\Re\beta&gt;\beta_\mrm c</annotation></semantics></math></span> and diverges for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Re</mi><mo>⁡</mo><mi>β</mi><mo>&lt;</mo><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub></mrow><annotation encoding="application/x-tex">\Re\beta&lt;\beta_\mrm c</annotation></semantics></math></span>. For most physical systems, we have <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\beta_\mrm c=0</annotation></semantics></math></span>, meaning that it can have any positive temperature, which sounds sensible. The hydrogen atom has <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta_\mrm c=+\infty</annotation></semantics></math></span>, and a two-level system has <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta_\mrm c=-\infty</annotation></semantics></math></span>. A system with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo>=</mo><mi>ln</mi><mo>⁡</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">E_n=\ln n</annotation></semantics></math></span> and no degeneracy has <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\beta_\mrm c=1</annotation></semantics></math></span>.</p>
<p>The term “abscissa of convergence” is borrowed from the study of <a href="https://en.wikipedia.org/wiki/General_Dirichlet_series" target="_blank" rel="external">general Dirichlet series</a>. The form of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> is indeed very much like a general Dirichlet series, but a general Dirichlet series requires <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi mathvariant="normal">∞</mi></msub><mo>=</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">E_\infty=+\infty</annotation></semantics></math></span>, which is not true for the hydrogen atom. However, the existence of an abscissa of convergence is still true for the more general case.</p>
<p>What does it mean physically to have an abscissa of convergence <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub></mrow><annotation encoding="application/x-tex">\beta_\mrm c</annotation></semantics></math></span>? First, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mo>−</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta_\mrm c=-\infty</annotation></semantics></math></span>, then the system is well behaved at any temperature, which is good and does not need further care.</p>
<p>If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\v{\beta_\mrm c}&lt;\infty</annotation></semantics></math></span>, normally one should say the system cannot reach a certain temperature: the system can never be in equilibrium with a heat bath hotter than <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub></mrow><annotation encoding="application/x-tex">\beta_\mrm c</annotation></semantics></math></span>. Thermodynamically, one can say that the system needs to absorb an infinite amount of heat to reach this temperature. One can see this easily by considering any sensible system, which has <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\beta_\mrm c=0</annotation></semantics></math></span>: for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> to go below zero means to make the temperature hotter than infinity, which of course needs an infinite amount of heat intuitively. One may want to see whether it is possible to regularize <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> to get a finite result for <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Re</mi><mo>⁡</mo><mi>β</mi><mo>&lt;</mo><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub></mrow><annotation encoding="application/x-tex">\Re\beta&lt;\beta_\mrm c</annotation></semantics></math></span>. A valid claim to make is that, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> can be analytically continued to the half real axis to the left of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub></mrow><annotation encoding="application/x-tex">\beta_\mrm c</annotation></semantics></math></span>, then any sensible regularization of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> there will give the same result as the analytic continuation. Actually, the analytic continuation is exactly the zeta function regularization if there is no degeneracy (or regarding degenerate states as different energy levels). However, it is possible that the analytic continuation does not exist. There may be a branch cut or a natural boundary. For example, if <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>ln</mi><mo>⁡</mo><msub><mi>p</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">E_n\ceq\ln p_n</annotation></semantics></math></span> with no degeneracy, where <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>p</mi><mi>n</mi></msub></mrow><annotation encoding="application/x-tex">p_n</annotation></semantics></math></span> is the <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>n</mi></mrow><annotation encoding="application/x-tex">n</annotation></semantics></math></span>th prime number, then <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>Z</mi></mrow><annotation encoding="application/x-tex">Z</annotation></semantics></math></span> is the <a href="https://en.wikipedia.org/wiki/Analytic_continuation#Example_I:_A_function_with_a_natural_boundary_at_zero_(the_prime_zeta_function)" target="_blank" rel="external">prime zeta function</a>, which has a natural boundary at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi mathvariant="normal">Re</mi><mo>⁡</mo><mi>β</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\Re\beta=0</annotation></semantics></math></span>. Even if such a regularization exists, it should be questioned whether it is physical.</p>
<p>If <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mo>+</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\beta_\mrm c=+\infty</annotation></semantics></math></span>, then the system is not well behaved at any temperature. This is the case for the hydrogen atom. Physically, this means that the system cannot be in equilibrium with a heat bath at any temperature. The problem with regularization is the same as the case with <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mrow><mo fence="true">∣</mo><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo fence="true">∣</mo></mrow><mo>&lt;</mo><mi mathvariant="normal">∞</mi></mrow><annotation encoding="application/x-tex">\v{\beta_\mrm c}&lt;\infty</annotation></semantics></math></span>.</p>
<p>In a previous <a href="/physics/2023/03/30/measure-ensemble.html">article</a> about statistical ensembles, when I defined the partition function, I briefly mentioned that it is only defined for those intensive variables (<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>β</mi></mrow><annotation encoding="application/x-tex">\beta</annotation></semantics></math></span> in the context of this article) such that the partition function converges. I did not talk about what to do with the partition function when it diverges, but what that article implied is that it is simply undefined and that no physical meaning should be assigned to it in principle. The existence of an abscissa of convergence tells us that there is a “hottest possible temperature” for any given system. The hydrogen atom is symply the case where the hottest possible temperature coincides with the coldest possible temperature (which is the absolute zero). For most sensible systems, the hottest possible temperature is just the positive hot limit. For systems such as <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>E</mi><mi>n</mi></msub><mo><mi mathvariant="normal">≔</mi></mo><mi>ln</mi><mo>⁡</mo><mi>n</mi></mrow><annotation encoding="application/x-tex">E_n\ceq\ln n</annotation></semantics></math></span>, the hottest possible temperature is a finite positive temperature, which is at <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mn>3.16</mn><mo>×</mo><msup><mn>10</mn><mn>5</mn></msup><mtext> </mtext><mi mathvariant="normal">K</mi></mrow><annotation encoding="application/x-tex">3.16\times10^5\,\mrm K</annotation></semantics></math></span>, resulting from <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mn>1</mn></mrow><annotation encoding="application/x-tex">\beta_\mrm c=1</annotation></semantics></math></span>. This can be conterintuitive at first, but one should realize that it is not essentially different from the more common case of <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>β</mi><mi mathvariant="normal">c</mi></msub><mo>=</mo><mn>0</mn></mrow><annotation encoding="application/x-tex">\beta_\mrm c=0</annotation></semantics></math></span>.</p>
<section id="footnotes" class="footnotes footnotes-end-of-document" role="doc-endnotes">
<hr />
<ol>
<li id="fn1"><p>This is <a href="https://oeis.org/A002024" target="_blank" rel="external">A002024</a> on OEIS. Coincidentally, the OEIS number of this sequence is the same as the year in which I am writing this article.<a href="#fnref1" class="footnote-back" role="doc-backlink">↩︎</a></p></li>
</ol>
</section>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="physics" /><category term="statistical mechanics" /><category term="complex" /><category term="regularization" /><category term="long paper" /><summary type="html"><![CDATA[The partition function of a hydrogen atom diverges (only considering bound states). However, we can regularize it to get finite answers. Different regularizations give the same result. They largely agree with the physical arguments for the case of the hydrogen atom at room or cold temperature, but this should be considered a mere coincidence. The results from regularized partition functions cannot generally be trusted.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2024-06-30-regularize-hydrogen.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2024-06-30-regularize-hydrogen.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Letting people know when you are asleep]]></title><link href="https://ulysseszh.github.io/guide/2024/02/21/sleep-status.html" rel="alternate" type="text/html" title="Letting people know when you are asleep" /><published>2024-02-21T02:26:45-08:00</published><updated>2024-02-21T02:26:45-08:00</updated><id>https://ulysseszh.github.io/guide/2024/02/21/sleep-status</id><content type="html" xml:base="https://ulysseszh.github.io/guide/2024/02/21/sleep-status.html"><![CDATA[<p>While I have been trying to respond whenever people reach out to me, it is impossible to be available 24/7 due to the simple fact that <a href="https://www.sleepfoundation.org/how-sleep-works/why-do-we-need-sleep" target="_blank" rel="external">a human has to sleep to be alive</a>. While this is annoying, it is also a fact that I cannot change.</p>
<p>Therefore, a natural idea that comes to my mind is to simply let people know when I am asleep so that they do not expect me to respond immediately.</p>
<p>Discord and GitHub have been among my most used platforms for some time, and they both have a feature to let users set a custom status (with a custom text and an emoji). This opens up a possibility of using a program to automatically set the status to indicate that I am asleep.</p>
<p>For Discord, this is as simple as invoking a REST API (<a href="https://support.discord.com/hc/en-us/articles/115002192352-Automated-user-accounts-self-bots" target="_blank" rel="external"><strong>Notice that this is against Discord’s ToS</strong></a>):</p>
<pre><code><span class="c"># Set sleeping status</span>
curl <span class="nt">-X</span> PATCH <span class="se">\</span>
	<span class="nt">-H</span> <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
	<span class="nt">-H</span> <span class="s2">"Authorization: YoUr.DiScOrD.ToKeN"</span> <span class="se">\</span>
	<span class="nt">-d</span> <span class="s1">'{"settings":"WhwKBQoDZG5kEhMKC1NsZWVwaW5nLi4uGgTwn5i0"}'</span> <span class="se">\</span>
	https://discord.com/api/v9/users/@me/settings-proto/1


<span class="c"># Clear sleeping status</span>
curl <span class="nt">-X</span> PATCH <span class="se">\</span>
	<span class="nt">-H</span> <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
	<span class="nt">-H</span> <span class="s2">"Authorization: YoUr.DiScOrD.ToKeN"</span> <span class="se">\</span>
	<span class="nt">-d</span> <span class="s1">'{"settings":"WgoKCAoGb25saW5l"}'</span> <span class="se">\</span>
	https://discord.com/api/v9/users/@me/settings-proto/1
</code></pre>
<p>If you wonder what those base64-encoded strings mean, they are actually the binary contents of protobuf-encoded messages. See <a href="https://github.com/discord-userdoccers/discord-protos/blob/master/discord_protos/discord_users/v1/PreloadedUserSettings.proto" target="_blank" rel="external">this <code>.proto</code> file</a> for the definition of the message structure.</p>
<details>
<summary>
API v8
</summary>
<p>The commands written above was added when editing this article on July 20, 2025, which uses API v9. The latest API version as of originally writing this article was v8, but now <strong>using API v8 will get your account disabled</strong>, so do not use it!</p>
<pre><code><span class="c"># Set sleeping status</span>
curl <span class="nt">-X</span> PATCH <span class="se">\</span>
	<span class="nt">-H</span> <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
	<span class="nt">-H</span> <span class="s2">"Authorization: YoUr.DiScOrD.ToKeN"</span> <span class="se">\</span>
	<span class="nt">-d</span> <span class="s1">'{"custom_status":{"text":"Sleeping...","emoji_id":null,"emoji_name":"😴","expires_at":null},"status":"dnd"}'</span> <span class="se">\</span>
	https://discordapp.com/api/v8/users/@me/settings

<span class="c"># Clear sleeping status</span>
curl <span class="nt">-X</span> PATCH <span class="se">\</span>
	<span class="nt">-H</span> <span class="s2">"Content-Type: application/json"</span> <span class="se">\</span>
	<span class="nt">-H</span> <span class="s2">"Authorization: YoUr.DiScOrD.ToKeN"</span> <span class="se">\</span>
	<span class="nt">-d</span> <span class="s1">'{"custom_status":null,"status":"online"}'</span> <span class="se">\</span>
	https://discordapp.com/api/v8/users/@me/settings
</code></pre>
</details>
<p>For GitHub, <a href="https://github.com/orgs/community/discussions/108473" target="_blank" rel="external">there is not a REST API for that</a>, but you can install the <a href="https://github.com/vilmibm/gh-user-status" target="_blank" rel="external">user-status plugin</a> for <a href="https://cli.github.com/" target="_blank" rel="external">GitHub CLI</a>:</p>
<pre><code>gh extension <span class="nb">install </span>vilmibm/gh-user-status
</code></pre>
<p class="no-indent">
Then, you can set the status with:
</p>
<pre><code><span class="c"># Set sleeping status</span>
gh user-status <span class="nb">set</span> <span class="s1">'Sleeping...'</span> <span class="nt">--emoji</span><span class="o">=</span><span class="s1">'sleeping'</span> <span class="nt">--limited</span>

<span class="c"># Clear sleeping status</span>
gh user-status <span class="nb">set</span> <span class="s1">'null'</span> <span class="nt">--expiry</span><span class="o">=</span>1s
</code></pre>
<p>Now, the next step is to run these commands automatically when I fall asleep and wake up. This can be done with <a href="https://www.macrodroid.com/" target="_blank" rel="external">MacroDroid</a>, which can trigger actions based on various triggers. To run arbitrary commands, you can use <a href="https://f-droid.org/en/packages/com.termux.tasker/" target="_blank" rel="external">the Tasker plugin for Termux</a>. To have it working, one also needs to uncomment <code>allow-external-apps = true</code> in <code>~/.termux/termux.properties</code>, and grant MacroDroid the permission to run Termux commands by</p>
<pre><code>adb shell pm grant com.arlosoft.macrodroid com.termux.permission.RUN_COMMAND
</code></pre>
<p>MacroDroid supports using the return value of <a href="https://developers.google.com/location-context/sleep" target="_blank" rel="external">the sleep API</a> to trigger an action, but this tends to be quite unreliable on my device. Therefore, I use it in conjunction with a quick setting tile that I can toggle manually. The macro has two triggers:</p>
<ul>
<li>Fell Asleep / Woke Up (Android sleep API),</li>
<li>Quick Tile On/Off,</li>
</ul>
<p class="no-indent">
and it has these actions:
</p>
<pre><code>If Trigger Fired: Woke Up, or Quick Tile Off
	If Sleeping = True
		Clear sleeping status on Discord and GitHub
		# Include other waking up logic here, such as turning off DND mode
	End If
	Sleeping = False
Else If Trigger Fired: Fell Asleep, or Quick Tile On
	If Sleeping = False
		Set GitHub and Discord user status to sleeping
		# Include other falling asleep logic here, such as turning on DND mode
	End If
	Sleeping = True
End If
</code></pre>
<p>By the way, I have a bunch of topics that I want to write blog articles about, but I have been quite busy recently, so I may have to pause updating this blog for a while. I hope I can get back to writing soon!</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="guide" /><category term="android" /><category term="github" /><summary type="html"><![CDATA[While I am asleep, the sleeping state is indicated on my Discord and GitHub user status. I achieve this by using MacroDroid.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2024-02-21-sleep-status.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2024-02-21-sleep-status.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html"><![CDATA[Using nmcli to connect to eduroam in UCSB]]></title><link href="https://ulysseszh.github.io/guide/2024/01/08/nmcli-eduroam.html" rel="alternate" type="text/html" title="Using nmcli to connect to eduroam in UCSB" /><published>2024-01-08T01:03:36-08:00</published><updated>2024-01-08T01:03:36-08:00</updated><id>https://ulysseszh.github.io/guide/2024/01/08/nmcli-eduroam</id><content type="html" xml:base="https://ulysseszh.github.io/guide/2024/01/08/nmcli-eduroam.html"><![CDATA[<p>Save this certificate to some file, say <code>/YOUR/PATH/TO/ca.pem</code>:</p>
<pre><code>-----BEGIN CERTIFICATE-----
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
MBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow
GAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj
YXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL
MAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM
GEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP
ADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua
BtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe
3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4
YgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR
rOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm
ez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU
oBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF
MAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v
QUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t
b2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF
AAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q
GE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz
Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2
G9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi
l2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
-----END CERTIFICATE-----
</code></pre>
<p>Then, run</p>
<pre><code>nmcli con mod eduroam 802-1x.eap peap
nmcli con mod eduroam 802-11-wireless-security.key-mgmt wpa-eap
nmcli con mod eduroam 802-11-wireless-security.proto rsn
nmcli con mod eduroam 802-11-wireless-security.pairwise ccmp
nmcli con mod eduroam 802-11-wireless-security.group ccmp,tkip
nmcli con mod eduroam 802-1x.ca-cert /YOUR/PATH/TO/ca.pem
nmcli con mod eduroam 802-1x.phase2-autheap mschapv2
nmcli con mod eduroam 802-1x.anonymous-identity anonymous@ucsb.edu
nmcli con mod eduroam 802-1x.identity YOUR_EDU_EMAIL_ADDRESS
nmcli con mod eduroam 802-1x.password YOUR_PASSWORD
</code></pre>
<p>Finally, you can connect to eduroam now!</p>
<p>This may also apply to eduroam in other campuses, but I haven’t tested it yet.</p>]]></content><author><name>UlyssesZhan</name><email>ulysseszhan@gmail.com</email></author><category term="guide" /><category term="linux" /><category term="school" /><summary type="html"><![CDATA[Use nmcli to connect to eduroam in UCSB without using the configuration assistant tool provided by eduroam.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://ulysseszh.github.io/assets/images/covers/2024-01-08-nmcli-eduroam.png" /><media:content medium="image" url="https://ulysseszh.github.io/assets/images/covers/2024-01-08-nmcli-eduroam.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>