For the nontrivial case , every and
The probability ordering makes . At a dyadic number, choose the terminating binary expansion followed by zeros. Let be the first bits of , and let
be its binary cylinder interval.
Suppose and were a prefix of . Since , the numbers and would have the same first bits, so both would lie in . In particular . But
a contradiction. A later word cannot be a shorter prefix of an earlier word because the lengths are nondecreasing; equal-length coincidences were also excluded. Thus the cumulative Shannon code is a prefix code.
The ceiling inequalities give
Multiply by and sum to obtain
For a one-symbol deterministic source the displayed construction assigns the empty word and gives . This zero-bit convention is valid when the number of source emissions is supplied separately. It is not an unframed uniquely decodable code: concatenating different numbers of empty words gives the same bit string. If positive-length unframed words are required, the shortest deterministic code has length , so the strict upper bound requires the nontrivial-source assumption.
Put and let be the largest length. Expanding sums over all strings of source symbols, where is the total code length. By unique decodability, the concatenations of length in this sum are all distinct, so there are at most of them. Since ,
Taking th roots and sending to infinity proves the Kraft–McMillan inequality
Now is a probability distribution. With base-two logarithms, Gibbs inequality gives
Terms with contribute zero. Therefore
The normalization by is important: the raw numbers need not sum to one.
A binary code assigns a finite bit string to each source symbol. Use nonempty codewords for an unframed variable-length stream. The code is uniquely decodable if no two distinct finite sequences of source symbols produce the same concatenated bit string. It is a prefix-free code if no codeword is an initial segment of a different codeword.
To prove unique decoding of a prefix code, suppose two concatenations agree. Their first codewords both begin the same bit string, so the shorter is a prefix of the longer. The prefix condition forces the first codewords to be equal. Cancel them and repeat. Since the codewords are nonempty, this process ends with both symbol sequences exhausted at the same time; otherwise a nonempty remainder could not equal the empty string. Hence the source sequences agree.
The code is not a prefix code, since is a prefix of . Nevertheless it is uniquely decodable: decode from the right. A final forces the last codeword to be , whereas a final forces it to be . Removing that final word recursively gives a unique parsing. Thus the converse fails.
Let record whether the second stage erased the symbol, and write its output as . The erasure marker is outside the original output alphabet, so is determined by . Independence makes independent of both and the first output . The chain rule for mutual information therefore gives
The erased branch gives zero information because its output is constant; the unerased branch has exactly the original joint input-output law. Maximizing over the same input distributions gives
This includes and . It is the capacity after independent output erasure; input-dependent erasure would not justify the independence step.
Let the probability of the first input be . The two equal output probabilities are , and the third is . Writing for the binary entropy function, the output entropy is , while the conditional entropy is . Therefore
The derivative with respect to is
and the second derivative is in the interior. Thus the unique stationary point is the global maximum. It occurs at , so
The capacity itself is . The maximization is over , not over arbitrary output distributions; keeps the feasible outputs explicit.
For finite-valued variables, mutual information is
Terms of zero joint probability are zero. A discrete memoryless channel has fixed transition probabilities on finite alphabets, and conditional on an input sequence its outputs are independent with the product law . Its channel capacity is
bits per channel use. The maximum is over all input distributions, with the transition law held fixed.
Suppose every sum of two distinct probabilities exceeds every third probability. If an optimal code were not a block code, part (b) gives two deepest sibling leaves at depth and a leaf at depth . Replace the sibling pair by a leaf labelled , and replace the former leaf by two children labelled . The resulting tree is still a prefix tree, and other word lengths are unchanged. The change in expected length is
Here . This contradicts optimality. Thus every optimal code is a block code.
Conversely, suppose distinct satisfy . Starting with the complete length- code, arrange as a sibling pair, which is possible by permuting the source labels. Its parent at depth does not contain . Label that parent , and split the old leaf into children . This gives lengths for , for , and otherwise, with expected length
If the optimal mean length is below , no optimal code can be a block code: any injective binary block code for symbols has length at least . If the optimal mean is , the constructed non-block code itself is optimal. In either case there is an optimal non-block code. This proves the reverse implication, including the equality case, and hence the strict inequality in the criterion is necessary.
Every internal node of an optimal binary prefix tree has two children. If one had only one child, remove that one-edge detour from all descendant words. Prefix-freeness is preserved and at least one positive-probability word becomes shorter, strictly lowering the expected length. Thus the tree is full.
Take a leaf at maximum depth . Its sibling exists because the tree is full. That sibling cannot be an internal node, since a descendant would be deeper than . Hence it is another leaf at depth , and the corresponding codewords differ only in their final bit. This is the deepest sibling property of an optimal prefix code.
A finite full binary tree satisfies Kraft equality, , by dividing mass equally down each branch from the root. If all lengths were at least , with at least one strictly greater, that sum would be less than , a contradiction. Since the code is not a block code, the alternative that all lengths equal is excluded. Therefore some word has length below . Also a longest word must have length above : if all lengths were at most and some shorter, the Kraft sum would exceed one.
The redundancy is , measured in bits per source symbol. Write for the total mass passing through interior node . Counting each codeword's length as one for each interior node its route visits gives
The entropy can be split into the conditional binary decisions along that route. Algebraically each node contributes
Summing telescopes: each non-root interior mass appears once positively as a parent and once negatively as a child. The root term is and the remaining leaf terms sum to . Hence
Subtracting this identity from the expected-length identity proves
Thus redundancy is the sum of the probability-weighted imbalances of the binary branch decisions. Nodes with no mass contribute zero by continuity. The formula holds for every full prefix tree, even without optimality.
Let . The Huffman encoder emits an average of binary digits per minute. Shannon's noisy-channel coding theorem states that for a discrete memoryless channel of capacity , every information rate strictly below bits per use is achievable with error probability tending to zero as block length grows; rates above are not achievable for unrestricted messages.
Thus a channel code carrying the Huffman bitstream reliably with buffering and arbitrarily long blocks can be chosen whenever
The strict inequality supplies positive coding and buffering slack. Huffman's expected-length bound is for a nontrivial finite source. Therefore the simpler bound is sufficient without knowing its exact Huffman lengths.
Distinguish this bitstream construction from the absolute source-channel limit. The noiseless source coding theorem permits long source blocks to be compressed to any rate above bits per source symbol, with arbitrarily small overhead. Together with channel coding, this gives the sharper limiting requirement ; is impossible by the source-channel converse. Further compression can exploit redundancy remaining in a single-symbol Huffman stream, so need not be the universal minimum channel symbol rate. At a positive-entropy source cannot be sent reliably at a finite rate.

There are unlisted articles, also show them or only show them.