\n{$G/e$}{multigraph contraction \[contract]}
\n{$G.e$}{simple graph contraction \[simpcont]}
\n{$G/X$, $G.X$}{contraction by a~set $X$ of vertices or edges \[setcont]}
-\n{$\alpha(n)$}{the inverse Ackermann's function}
\n{$f[X]$}{function applied to a set: $f[X]:=\{ f(x) ; x\in X \}$}
\n{$f[e]$}{as edges are two-element sets, $f[e]$ maps both endpoints of an edge~$e$}
\n{$\varrho({\cal C})$}{edge density of a graph class~$\cal C$ \[density]}
\n{${\cal D}(G)$}{The optimal MSF decision tree for a~graph~$G$ \[decdef]}
\n{$D(G)$}{The depth of ${\cal D}(G)$ \[decdef]}
\n{$D(m,n)$}{Decision tree complexity of MSF \[decdef]}
+\n{$A(x,y)$}{The Ackermann's function \[ackerdef]}
+\n{$A(x)$}{The diagonal Ackermann's function \[ackerdef]}
+\n{$a(x,n)$}{The inverse of the $x$-th row of the Ackermann's function \[ackerinv]}
+\n{$a(n)$}{The diagonal inverse of the Ackermann's function \[ackerinv]}
+\n{$\alpha(m,n)$}{$\alpha(m,n) := \min\{ x\ge 1 \mid A(x,4\lceil m/n\rceil) > \log n \}$ \[ackerinv]}
}
%--------------------------------------------------------------------------------
originally introduced by Ackermann \cite{ackermann:function} in the context of
computability theory. Its original purpose was to demonstrate that a~function
can be recursive, but not primitive recursive. At the first sight, it does not
-seem related to efficient algorithms at all. Its inverse however occurs in
+seem related to efficient algorithms at all. Its various inverses however occur in
analysis of various algorithms and mathematical structures surprisingly often:
-We meet it in Section \ref{classalg} in the time complexity of the Disjoint Set Union
+We meet them in Section \ref{classalg} in the time complexity of the Disjoint Set Union
data structure and also in the best known upper bound on the decision tree
complexity of minimum spanning trees in Section \ref{optalgsect}. Another
important application is the complexity of Davenport-Schinzel sequences (see
-Klazar's survey \cite{klazar:gdss}), but as far as we know, it is not otherwise
+Klazar's survey \cite{klazar:gdss}), but as far as we know, there are not otherwise
related to the topic of our study.
Various sources tend to differ in the exact definition of both the Ackermann's
We will use the definition by double induction given by Tarjan \cite{tarjan:setunion},
which is predominant in the literature on graph algorithms:
-\defn
+\defn\id{ackerdef}%
The \df{Ackermann's function} $A(x,y)$ is a~function on non-negative integers defined as:
$$\eqalign{
A(0,y) &:= 2y, \cr
&= A(2,A(2,4)) = 2\tower(2\tower 4) = 2\tower 65536. \cr
}$$
-\defn
-The \df{Inverse Ackermann's function} $\alpha(x,y)$ is defined as:
+\para
+Three functions related to the inverse of the function~$A$ are usually considered:
+
+\defn\id{ackerinv}%
+The \df{row inverse} $a(x,y)$ of the Ackermann's function is defined as:
+$$
+a(x,n) := \min\{ y \mid A(x,y) > \log n \}.
$$
-\alpha(x,n) := \min\{ y \mid A(x,y) > \log n \}.
+The \df{diagonal inverse} $a(n)$ is defined as:
$$
-Again, a~single-parameter version is occasionally considered:
+a(n) := \min\{ x \mid A(x,x) > \log n \}.
$$
-\alpha(n) := \min\{ x \mid A(x,x) > \log n \}.
+The \df{alpha function} $\alpha(m,n)$ is defined for $m\ge n$ as:
+$$
+\alpha(m,n) := \min\{ x\ge 1 \mid A(x,4\lceil m/n\rceil) > \log n \}.
$$
\example
-$\alpha(1,n) = \O(\log\log n)$, $\alpha(2,n) = \O(\log^* n)$, $\alpha(3,n)$ grows even slower.
+$a(1,n) = \O(\log\log n)$, $a(2,n) = \O(\log^* n)$, $a(3,n)$ grows even slower
+and $a(n)$ is asymptotically smaller than $a(x,n)$ for any fixed~$x$.
\obs
-As the rows of the function~$A$ are increasing, we have $A(x,y) \ge A(x,x) = A(x)$ for $y\ge x$
+The rows of $A(x,y)$ are non-decreasing and so are the columns, so $\alpha(m,n)$
+is maximized when $m=n$. Thus $\alpha(m,n) \le 3$ whenever $\log n < A(3,4)$,
+which happens for all ``practical'' values of~$m$.
+
+\lemma
+$\alpha(m,n) \le a(n)+1$.
+
+\proof
+$A(x,4\lceil m/n\rceil) \ge A(x,4) = A(x-1,A(x,3)) \ge A(x-1,x-1)$, so $A(x,4\lceil m/n\rceil)$
+rises above $\log n$ no later than $A(x-1,x-1)$ does so.
+\qed
+
+\lemma\id{alphaconst}%
+When $k$~is a~fixed constant and $m\ge n\cdot a(k,n)$, then $\alpha(m,n) \le k$.
+
+\proof
+The choice of~$m$ guarantees that $A(x,4\lceil m/n\rceil) \ge A(x,a(k,n))$, which
+is greater than $\log n$ for all $x \ge k$.
+\qed
\endpart