# Proving that the number of full nodes + 1 is equal to the number of leaves in a nonempty binary tree

I am looking at the proof of this and I am so completely lost on where they are getting some of the expressions. Here is the proof:

Consider that $N$ is the number of nodes, $F$ is the number of full nodes, $L$ is the number of leaves in a tree, and $H$ is the height of the number of nodes with only one child or half-children. Then the total number of nodes in a binary tree is given as:

$N = F + L + H$

As, each full node is the incident of the two outgoing edges, thus each of the half nodes is called as the incident of one outgoing steps while each of the leaf nodes is the incident on no of outgoing edges that follows the total number of edges with in a binary tree is equal to $2F + H$. The total number of edges in a tree is equal to $N - 1$, hence,

$2F + H = N - 1 => H = N - 1 - 2F$

From there we substitute that value into $H$ and after solving we get $F + 1 = L$. The substituting part and everything I can do easily. The part I am so completely confused on is where and how they got $2F + H$. I don't understand that at all. I know a full node has 2 children, but I don't understand how that correlates to $2F + H$. Can someone help explain this?

They’re imagining each edge to be directed away from the root and towards the leaves, so that each edge has a ‘tail’ node (towards the root) and a ‘head’ nod (towards the leaves). We can count the edges by their tail nodes. Each full node is the tail node of $2$ edges, so there are $2F$ edges whose tail nodes are full nodes. Each half node is the tail node of $1$ edge, so there are $H$ edges whose tail nodes are half nodes. Putting the two together, we get a total of $2F+H$ edges. Since no edge has a leaf as its tail node, we’ve accounted for all of the edges: there really are $2F+H$ of them.