<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://noambt.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://noambt.com/" rel="alternate" type="text/html" /><updated>2026-10-16T13:50:13+00:00</updated><id>https://noambt.com/feed.xml</id><title type="html">Noam Benson-Tilsen</title><author><name>Noam Benson-Tilsen</name><email>fn dot ln atsign yale dot edu</email></author><entry><title type="html">ASP-completeness</title><link href="https://noambt.com/posts/2026-07-13-asp_completeness" rel="alternate" type="text/html" title="ASP-completeness" /><published>2026-07-13T00:00:00+00:00</published><updated>2026-07-13T00:00:00+00:00</updated><id>https://noambt.com/posts/asp_completeness</id><content type="html" xml:base="https://noambt.com/posts/2026-07-13-asp_completeness"><![CDATA[<p>Here are some definitions about $\text{ASP}$ (none due to me).</p>

<div class="thm definition">
  <p><strong>Definition (Function problem).</strong>
A <em>function problem</em> is a triple $\Pi = (D, S, \sigma)$, where $D$ is a set of problem instances, $S$ is a solution space, and $\sigma : D \to \mathbb{P}(S)$ assigns to each $x \in D$ the set $\sigma(x) \subseteq S$ of solutions to $x$.
To <em>solve</em> an instance $x \in D$ is to either produce some $s \in \sigma(x)$ or report that $\sigma(x) = \emptyset$.</p>
</div>

<div class="thm definition">
  <p><strong>Definition ($\textbf{FNP}$).</strong>
A function problem $\Pi = (D, S, \sigma)$ is in <em>$\textbf{FNP}$</em> iff (1) there exists a polynomial $p$ such that $|s| \leq p(|x|)$ for every $x \in D$ and every $s \in \sigma(x)$ and (2) the language $\{ (x, s) \mid x \in D,\ s \in \sigma(x) \}$ is in $\textbf{P}$.</p>
</div>

<p>That is, (1) an $\textbf{FNP}$ problem has solutions of polynomial size and (2) given a candidate instance–solution pair $(x, s)$ of an $\textbf{FNP}$ problem, one can verify in polynomial time whether $s$ is a solution of $x$.</p>

<p>For example, a valid chess puzzle gives the starting player, White, one correct winning option each move until White gets a big advantage, checkmates, etc.
If a position has multiple high-advantage moves for White, it’s a bad puzzle. 
This means puzzle composers have to check whether there is exactly one solution, i.e. an alternating quantified formula where each existential also requires uniqueness.
For some games/problems outside of chess, this is tractable in polytime; we have some handy definitions for that.</p>

<div class="thm definition">
  <p><strong>Definition (Induced decision problem).</strong>
Let $\Pi = (D, S, \sigma)$ be a function problem.
The <em>decision problem induced by $\Pi$</em> is $\Pi_D = (D, Y)$, where $Y = \{ x \in D \mid \sigma(x) \neq \emptyset \}$ is the set of instances admitting at least one solution.</p>
</div>

<div class="thm">
  <p><strong>Proposition ($\textbf{NP}$ and $\textbf{FNP}$ correspondence).</strong>
For every decision problem $\hat{\Pi} \in \textbf{NP}$ there exists a function problem $\Pi \in \textbf{FNP}$ with $\Pi_D = \hat{\Pi}$, and conversely the decision problem induced by any $\Pi \in \textbf{FNP}$ is in $\textbf{NP}$.</p>
</div>

<p>The first direction is harder.
If $\hat{\Pi} \in \textbf{NP}$ with verifier $V$, take $\sigma(x)$ to be the set of certificates accepted by $V$ on $x$. 
How do we get polynomialness?
<!-- Polynomialness comes from $\hat{\Pi} \in \textbf{NP}$. --></p>

<p>The reverse direction is easier, because any $\textbf{FNP}$ certificate is a witness for membership in the induced language.</p>

<div class="thm definition">
  <p><strong>Definition ($n$-ASP).</strong>
Let $\Pi = (D, S, \sigma)$ be a function problem and $n \in N$.
The <em>$n$-Another-Solution-Problem of $\Pi$, $\Pi$’s $n$-ASP,</em> is the function problem $\Pi_{[n]} = (D_{[n]}, S, \sigma_{[n]})$, where</p>

\[\begin{aligned} D_{[n]} &amp;= \{\, (x, S_x) \mid x \in D,\ S_x \subseteq \sigma(x),\ |S_x| = n \,\}, \\
\sigma_{[n]}(x, S_x) &amp;= \sigma(x) \setminus S_x.\end{aligned}\]

</div>

<p>I.e., an instance is a pair of an input $x$ and a set $S_x$ of $n$ known solutions to $x$; a solution is any solution to $x$ not already in $S_x$.
There is a corresponding decision problem $(\Pi_{[n]})_D$ that asks whether such a further solution exists, and this decision problem could be called the <em>$n$-ASDP of $\Pi$</em>.</p>

<p>In the case of chess puzzles, say we start from an instance set $D$ containing one starting position.
A solution space $S$ is a set of strong strategies (gametree suffixes).
A solution map $\sigma$ associates starting positions with solution strategies.
What problem does the composer want to solve? What value(s) does the parameter take?
<!-- The composer would like to solve the $n$-ASDP of $\Pi = (D, S, \sigma)$ for $n \geq 0$. --></p>

<div class="thm definition">
  <p><strong>Definition (ASP reduction).</strong>
Let $\Pi_1 = (D_1, S_1, \sigma_1)$ and $\Pi_2 = (D_2, S_2, \sigma_2)$ be function problems.
A <em>polytime ASP reduction</em> from $\Pi_1$ to $\Pi_2$ is a pair $\phi = (\phi_D, \phi_S)$ of polytime computable maps such that $\phi_D : D_1 \to D_2$, and for each $x \in D_1$, $\phi_S(x, \cdot)$ is a bijection from $\sigma_1(x)$ to $\sigma_2(\phi_D(x))$ (see Yato and Seta 2003). When there is such a reduction, then $\Pi_1 \leq_{asp} \Pi_2$.</p>
</div>

<p>I.e., an instance is a pair of an input $x$ and a set $S_x$ of $n$ known solutions to $x$; a solution is any solution to $x$ not already in $S_x$.
There is a corresponding decision problem $(\Pi_{[n]})_D$ that asks whether such a further solution exists, and this decision problem could be called the <em>$n$-ASDP of $\Pi$</em>.</p>

<p>Now for the title card:</p>

<div class="thm definition">
  <p><strong>Definition (ASP-completeness).</strong>
A function problem $\Pi$ is <em>$\text{ASP}$-complete</em> iff $\Pi \in \textbf{FNP}$ and $\Pi^\prime \leq_{asp} \Pi$ for every $\Pi^\prime \in \textbf{FNP}$.</p>
</div>

<p>The proof uses the Cook-Levin reduction plus the observation that the resulting CNF’s formula’s satisfying assignments are in explicit polytime-computable bijection with the accepting computations of the verifier on a given input.</p>

<div class="thm remark">
  <p><strong>Remark (Consequences).</strong>
If $\Pi$ is $\text{ASP}$-complete then the corresponding counting problem is $\textbf{\#P}$-complete, and the $k$-ASDP of $\Pi$ is $\textbf{NP}$-complete for every $k \in \mathbb{N}$. Therefore $\text{ASP}$-completeness of a puzzle certifies both that counting solutions is hard and that even after revealing $k$ intended solutions it is $\textbf{NP}$-hard to decide whether there is another solution.</p>
</div>]]></content><author><name>Noam Benson-Tilsen</name><email>fn dot ln atsign yale dot edu</email></author><category term="complexity" /><summary type="html"><![CDATA[Here are some definitions about $\text{ASP}$ (none due to me).]]></summary></entry><entry><title type="html">23</title><link href="https://noambt.com/posts/2026-06-17-23" rel="alternate" type="text/html" title="23" /><published>2026-06-17T00:00:00+00:00</published><updated>2026-06-17T00:00:00+00:00</updated><id>https://noambt.com/posts/23</id><content type="html" xml:base="https://noambt.com/posts/2026-06-17-23"><![CDATA[<ol start="0">
  <li>Eating.</li>
  <li>(Babble) Talking.</li>
  <li>Moving around.</li>
  <li>(Real) Talking.</li>
  <li>Reading and binary.</li>
  <li>Star Wars and Harry Potter.</li>
  <li>An abjad.</li>
  <li>Cantillation.</li>
  <li>Forehand.</li>
  <li>Swinging really high.</li>
  <li>Kayaking, and Harry Potter 2.0.</li>
  <li>Typing fast.</li>
  <li>Running slow.</li>
  <li>Thinking fast and slow.</li>
  <li>Secularism.</li>
  <li>How to sleep where no one has slept before.</li>
  <li>Indian nuclear policy between 1947 and 1998.</li>
  <li>Shenaniganery.</li>
  <li>Running medium.</li>
  <li>How to win friends and apply to things.</li>
  <li>Juggling.</li>
  <li>How to actually apply to things.</li>
  <li>How to fail.</li>
</ol>]]></content><author><name>Noam Benson-Tilsen</name><email>fn dot ln atsign yale dot edu</email></author><summary type="html"><![CDATA[Eating. (Babble) Talking. Moving around. (Real) Talking. Reading and binary. Star Wars and Harry Potter. An abjad. Cantillation. Forehand. Swinging really high. Kayaking, and Harry Potter 2.0. Typing fast. Running slow. Thinking fast and slow. Secularism. How to sleep where no one has slept before. Indian nuclear policy between 1947 and 1998. Shenaniganery. Running medium. How to win friends and apply to things. Juggling. How to actually apply to things. How to fail.]]></summary></entry><entry><title type="html">Nash-Williams Proof Golf</title><link href="https://noambt.com/posts/2026-01-22-nash_williams" rel="alternate" type="text/html" title="Nash-Williams Proof Golf" /><published>2026-01-22T00:00:00+00:00</published><updated>2026-01-22T00:00:00+00:00</updated><id>https://noambt.com/posts/nash_williams</id><content type="html" xml:base="https://noambt.com/posts/2026-01-22-nash_williams"><![CDATA[<p>Let $G$ be a loopless undirected multigraph and a $\rho$-forest decomposition of $G$ be a partition $E(G) = \coprod_{i = 1}^\rho E_i$ such that each subgraph $\langle E_i \rangle$ edge-induced by edge part $E_i$ is a forest. Call $\langle E_i \rangle$ a subforest of $G$ for each $i = {,}_{j = 1}^\rho j$. The smallest $\rho$ such that $G$ admits a $\rho$-forest decomposition is the edge arboricity $\rho(G)$ of $G$.</p>

<h1 id="theorem">Theorem</h1>

<p>If $\lvert V(G) \rvert &gt; 1$ then</p>

\[\rho(G) = \max_{H &lt; G} \left\lceil \frac{\lvert E(H) \rvert}{\lvert V(H) \rvert - 1} \right\rceil\]

<p>for the subgraph relation $&lt;$.</p>

<h2 id="proof">Proof</h2>

<p>Consider any $H &lt; G$. Let $n_H = \lvert V(H) \rvert$, $m_H = \lvert E(H) \rvert$. Then $\rho(H)(n_H - 1) \geq m_H$. That is, the number of disjoint subforests of $H$ times the maximum number ($n_H - 1$, when the subtree spans $H$) of edges per subforest of $H$ 
is at least the number of edges in $H$.</p>

<p>(I.e., <code class="language-plaintext highlighter-rouge">total num subforests</code> * <code class="language-plaintext highlighter-rouge">max edges per subforest</code> ≥ <code class="language-plaintext highlighter-rouge">total edges</code>.)</p>

<p>Therefore $\rho(H) \geq \frac{m_H}{n_H - 1}$.</p>

<p>To prove the other direction, let $G$ be a counterexample that minimizes $n_G + m_G$; i.e., $\rho(G) &gt; \max_{H &lt; G} \lceil \frac{\lvert E(H) \rvert}{\lvert V(H) \rvert - 1} \rceil$. $G$ must be connected, or else one of its components $G^\prime &lt; G$ would be a smaller counterexample. Also, $\rho(G - e) &lt; \rho(G)$ for each edge $e \in E(G)$, because if there were some $e \in E(G)$ such that $\rho(G - e) \geq \rho(G)$, then $G - e$ would be a smaller counterexample. Call this property arboreal criticality.</p>

<h3 id="lemma">Lemma</h3>

<p>For connected arboreally critical $G$ with order at least 2 and any $e \in E(G)$, all $(\rho(G) - 1)$-forest decompositions of $G - e$ consist of $\rho(G) - 1$ disjoint spanning trees of $G$. That is, the decomposition of $G - e$ is maximal in some sense corresponding to how the decomposition of $G$ was minimal in the sense of arboreal criticality — removing any edge decreases $G$’s arboricity.</p>

<p>To prove the lemma, consider a counterexample decomposition ${,}_{i = 1}^{\rho(G) - 1} E_i$ of $G - e$ so that some part, say $E_1$, doesn’t edge-induce a spanning tree. $G$ was critical, so adding $e%$ back to $G - e$ increases the minimum number of subforests we need, so in particular $\langle E_1 + e \rangle$ has a cycle containing $e$. This means $e$’s endpoints are in the same component $Q &lt; \langle E_1 \rangle &lt; G$ of $\langle E_1 \rangle$. We assumed $\langle E_1 \rangle$ doesn’t span $G$, and $Q$ is a component of $\langle E_1 \rangle$, so $V(Q) \neq V(G)$.</p>

<p>Now consider $Q^\ast = G[Q]$, the subgraph vertex-induced by $Q$ in $G$. $E(G) \setminus E(Q^\ast)$ is nonempty — otherwise $G$ and $Q^\ast$ would have the same edges and $G$ wouldn’t be connected. Further, $G$ is arboreally critical, so $Q^\ast$ has a $(\rho(G) - 1)$-forest decomposition $E(Q^\ast) = \coprod_{i  = 1}^{\rho - 1} Q^{\ast\prime}_i$.</p>

<p>Note that in $({,}_{i = 1}^{\rho(G) - 1} E_i, { e })$, the component $Q$ of $\langle E_1 \rangle$ spans $Q^\ast$ and $e \in Q^\ast$, because $Q^\ast$ was defined that way. Consider the set $S$ of $\rho(G)$-forest decompositions of $G$ that have a component of the first part, $E^\prime_1$, that spans $Q^\ast$ and contains edge $e^\prime$. Let $\overline{E} = ({,}_{i = 1}^{\rho(G) - 1} \overline{E}_i, { \overline{e} })$ be a $\rho$-forest decomposition in $S$ that maximizes $\mathscr{I}(\overline{E}) = \sum_{i = 1}^{\rho(G) - 1} \lvert A_i \cap \overline{E}_i \rvert$. Note that $\overline{e} \in Q^\ast$ and so $\overline{e} \in Q^{\ast\prime}_t$ for some $t$. As before, $\langle \overline{E}_t + \overline{e} \rangle$ has a cycle $C$ in $Q^\ast$ containing $\overline{e}$. If $t = 1$, then $C \subseteq Q^\ast$, because $\overline{E} \in S$ and any element of $S$ has a $Q^\ast$-spanning component of its first part and a singleton part whose element is in $E(Q^\ast)$. Otherwise, if $t \neq 1$ and $C \nsubseteq Q^\ast$, then there is some edge $\overline{e}^\prime \in E(C)$ with an endpoint in $V(Q^\ast)$ and other endpoint in $V(G) \setminus V(Q^\ast)$. Adding $\overline{e}^\prime$ to $\langle \overline{E}_1 \rangle$ would create a new edge-induced subgraph $\langle \overline{E}_1 + \overline{e}^\prime \rangle$, which would be acyclic, because $\langle \overline{E}_1 \rangle$ is a forest, $Q^\ast$ is edge-induced (in $G$) by $\overline{E}_1$, and $\overline{e}^\prime$’s endpoint in $V(G) \setminus V(Q^\ast)$ is adjacent to exactly one vertex in $V(Q^\ast)$. Further, $\langle \overline{E}_t + \overline{e} - \overline{e}^\prime \rangle$ would be acyclic, because $\overline{e}^\prime \in E(C)$ creates the unique cycle $C$ from $\langle \overline{E}_t \rangle$ in $Q$, and removing $\overline{e}^\prime$ from $C$ breaks it. But then we get a $(\rho(G) - 1)$-forest decomposition $\overline{E}^\prime = ({,}_{i = 1}^{t - 1} \overline{E}_i, \overline{E}_t + \overline{e} - f, {,}_{i = t + 1}^{\rho(G) - 1} \overline{E}_i)$ of $G$, contradicting the definition of $\rho(G)$. On the other hand, if $t \neq 1$ and $C \subseteq Q^\ast$, then we can select some edge $\overline{e}^{\prime\prime} \in E(C) - A_t \subset E(Q)$ to construct $\overline{E}^{\prime\prime} = ({,}_{i = 1}^{t - 1} \overline{E}, \overline{E}_t + \overline{e} - \overline{e}^{\prime\prime}, {,}_{i = t + 1}^{\rho(G) - 1} \overline{E}_i, { \overline{e}^{\prime\prime} })$. This partition is perfectly valid, similarly to before, but now $\overline{e}^\prime \in A_t$ has been moved into $\overline{E}_t + \overline{e}$ (and $\overline{e}^{\prime\prime} \notin A_t$ has been moved out of $\overline{E}_t$), so that $\mathscr{I}(\overline{E}^{\prime\prime}) &gt; \mathscr{I}(\overline{E})$. Absurdum.</p>

<hr />

<p>From “A Short Proof of Nash-Williams’[s] Theorem for the Arboricity of a Graph”.</p>]]></content><author><name>Noam Benson-Tilsen</name><email>fn dot ln atsign yale dot edu</email></author><category term="arboricity" /><category term="forests" /><category term="trees" /><summary type="html"><![CDATA[Let $G$ be a loopless undirected multigraph and a $\rho$-forest decomposition of $G$ be a partition $E(G) = \coprod_{i = 1}^\rho E_i$ such that each subgraph $\langle E_i \rangle$ edge-induced by edge part $E_i$ is a forest. Call $\langle E_i \rangle$ a subforest of $G$ for each $i = {,}_{j = 1}^\rho j$. The smallest $\rho$ such that $G$ admits a $\rho$-forest decomposition is the edge arboricity $\rho(G)$ of $G$.]]></summary></entry><entry><title type="html">Dynamic (Δ+1) Vertex Coloring</title><link href="https://noambt.com/posts/2026-01-12-dynamic_d+1_vertex_coloring" rel="alternate" type="text/html" title="Dynamic (Δ+1) Vertex Coloring" /><published>2026-01-12T00:00:00+00:00</published><updated>2026-01-12T00:00:00+00:00</updated><id>https://noambt.com/posts/dynamic_d+1_vertex_coloring</id><content type="html" xml:base="https://noambt.com/posts/2026-01-12-dynamic_d+1_vertex_coloring"><![CDATA[<div class="pdf-container">
  <iframe data-pdf="/assets/pdfs/2026-01-12-dynamic_d+1_vertex_coloring.pdf" width="100%" height="800px" style="border: none;" loading="lazy" title="Embedded PDF"></iframe>
</div>
<script>
  (function () {
    var frame = document.currentScript.previousElementSibling.querySelector("iframe");
    var pdf = frame.getAttribute("data-pdf");
    var firefox = /Firefox\//.test(navigator.userAgent);
    var ios = /iP(hone|od|ad)/.test(navigator.userAgent) ||
              (navigator.maxTouchPoints > 1 && /Mac/.test(navigator.platform));
    frame.src = (navigator.pdfViewerEnabled === true && !firefox && !ios)
      ? pdf
      : "/assets/pdfjs/web/viewer.html?file=" + encodeURIComponent(pdf);
  })();
</script>

<p><a href="/assets/pdfs/2026-01-12-dynamic_d+1_vertex_coloring.pdf" download="">Download PDF</a></p>

<p><a href="https://doi.org/10.48550/arXiv.2601.07566" target="_blank" rel="noopener noreferrer">doi.org/10.48550/arXiv.2601.07566<span style="font-size: 0.8em; margin-left: 0.1em;">⇗</span></a></p>]]></content><author><name>Noam Benson-Tilsen</name><email>fn dot ln atsign yale dot edu</email></author><category term="graph coloring" /><summary type="html"><![CDATA[Download PDF]]></summary></entry></feed>