Shannon noiseless coding theorem says the minimum expected binary prefix-code length L satisfies H(X)≤L<H(X)+1. Kraft and Gibbs give H≤L for every prefix code. Taking lengths ℓi=⌈−log2pi⌉ satisfies Kraft because ∑2−ℓi≤1, and gives L<∑pi(−log2pi+1)=H+1.