This is the actual question should be (Coreman 6.3-3) :A heap of size n has at most ⌈n/2^(h+1)⌉ nodes with height h.
This is just a simple intution for the proof.
This is an easy to prove property of complete binary tree/heap that is
no. of leaf nodes = (total nodes in tree/heap)/2 {nearly}
Now, no. of nodes at height 0 = n/2 (because all leaf nodes are at maximum depth)
So traversing from bottom to top of tree, the height keep on increasing height by one, at each level we have no. of nodes = (no. of nodes from root to that level)/2, and once we finished counting that level we're left with same problem for half of the total node upto this level, for a level above (Think recursively, at each step although increasing the height, but deleting leaf nodes, and redoing the problem with 1/ of the nodes).
Therefore, no. of nodes at :
At height 1 = (n/2)/2 = n/4,
At height 2 = (n/4)/2 = n/8,
.
.
.
At height h = n/2^(h+1) {observing the trend}