TAOCP 1.2.3 Exercise 24

Let P(R)=\prod_{R(j)} a_j, \qquad S(R)=\sum_{R(j)} (\log_b a_j),

Section 1.2.3: Sums and Products

Exercise 24. [20] Suppose that $R(j)$ is true for only finitely many $j$. By induction on the number of integers satisfying $R(j)$, prove that $\log_b \prod_{R(j)} a_j = \sum_{R(j)} (\log_b a_j)$, assuming that all $a_j > 0$.

Verified: yes
Solve time: 33s


Solution

Let

$$ P(R)=\prod_{R(j)} a_j, \qquad S(R)=\sum_{R(j)} (\log_b a_j), $$

where all $a_j>0$. We shall prove that

$$ \log_b P(R)=S(R) $$

whenever $R(j)$ is true for only finitely many integers $j$.

The proof is by induction on the number of integers satisfying $R(j)$.

For the basis step, suppose that no integer satisfies $R(j)$. By the definition of product notation in Eq. (20),

$$ \prod_{R(j)} a_j = 1. $$

Also, by the definition of summation over an empty domain,

$$ \sum_{R(j)} (\log_b a_j)=0. $$

Hence

$$ \log_b \prod_{R(j)} a_j = \log_b 1 = 0 = \sum_{R(j)} (\log_b a_j). $$

Therefore the theorem holds when the number of integers satisfying $R(j)$ is $0$.

Assume now that the theorem holds whenever exactly $n$ integers satisfy the relation, and consider a relation $R(j)$ that is true for exactly $n+1$ integers.

Choose one integer $k$ such that $R(k)$ is true. Define a new relation

$$ R'(j) = R(j)\text{ and }j\ne k. $$

Then $R'(j)$ is true for exactly $n$ integers. By the induction hypothesis,

$$ \log_b \prod_{R'(j)} a_j = \sum_{R'(j)} (\log_b a_j). $$

By the analog of rule (d) for products,

$$ \prod_{R(j)} a_j = a_k \prod_{R'(j)} a_j, $$

since the domains overlap in no values of $j$.

Taking logarithms,

$$ \log_b \prod_{R(j)} a_j = \log_b \left(a_k \prod_{R'(j)} a_j\right). $$

Using the elementary property of logarithms,

$$ \log_b(xy)=\log_b x+\log_b y, $$

valid for positive $x$ and $y$, we obtain

$$ \log_b \prod_{R(j)} a_j = \log_b a_k + \log_b \prod_{R'(j)} a_j. $$

Applying the induction hypothesis gives

$$ \log_b \prod_{R(j)} a_j = \log_b a_k + \sum_{R'(j)} (\log_b a_j). $$

Since $R(j)$ consists of the disjoint union of the single value $j=k$ and the values satisfying $R'(j)$, the analog of Eq. (11) for sums yields

$$ \log_b a_k + \sum_{R'(j)} (\log_b a_j) = \sum_{R(j)} (\log_b a_j). $$

Therefore

$$ \log_b \prod_{R(j)} a_j = \sum_{R(j)} (\log_b a_j). $$

Thus the theorem holds whenever $R(j)$ is true for exactly $n+1$ integers. By induction, it holds for all finite domains.

This completes the proof.