\subsection{The uniform case: $\Hdomain=1$}

The uniform case of $\Hdomain=1$, in which every program 
is equally likely to be implemented, reduces the scenario
to classical Kolmogorov complexity with a uniform distribution on
programs.  It has some
surprising properties that suggest $\Hdomain=1$ to be an unlikely scenario
for real problem domains.

Our first result concerns the number of library components we might expect
to use in a program.
Let $N(s)$ be a random variable indicating for a program of uncompressed
size $s$ the number of components whose use reduces program size.
Surprisingly, as program size increases the
expected number of components that reduce program size is bounded
above by a constant.

\begin{thm}
If $\Hdomain=1$ there exists a constant $n_{\mathsf{crit}}$ independent of
program size $s$ such that $N(s) \leq n_{\mathsf{crit}}$ almost surely. 
\end{thm}

\begin{proof}
Suppose each component used saved at least 1 bit.  If
$\lim_{s \rightarrow \infty} E[N(s)]$ were unbounded, use of the
library could compress random programs by an unbounded amount,
contradicting incompressibility (\reffact{fact:incompressibility}). 
\qed
\end{proof}

This has a simple corollary concerning the potential for code reuse.
\begin{cor}
When $\Hdomain=1$ the expected proportion of a program that can be reused
from libraries tends to zero as program size increases.
\end{cor}

\label{s:paradox}
Because of these results, the case $H=1$ is somewhat uninteresting
and does not seem to model real life, where we know libraries are
useful and let us reduce the size of programs.
In the next sections we examine the more interesting case of
$0 < \Hdomain < 1$, where we can compress
programs, even ones that are (Kolmogorov) incompressible,
by use of a library.  
