The first relation $b(0)=0$ is trivial.

By the condition, $a(n)$ is the product of number of consecutive zeroes plus $1$, if we write $n$ in binary. For instance, if $n=1220$, we have $n=100 1100 0100$ in binary, thus $a(n)=3\times 4\times 3=36$. Notice that if $n=2^u\times v$ where $v$ is an odd number, we have $a(n)=(u+1)a(v)$

We need a lemma: Lucas' Theorem: $\binom{a}{b}$ is odd if and only if $a\&b=b$ where $\&$ is bitwise AND operation. Let $S_n$ be the set of $i$ if $i\&n=i$.

Now the second relation is clear. Notice that if $k\in S_{2n+1}$ if there exist $k'\in S_n$ such that $k=2k'$ or $k=2k'+1$. The even ones consists of exactly the elements in $S_{2n}$. So we can divide $S_{2n+1}$ into odd part and even part, We have

$$b(2n+1)=\sum_{k\in S_{2n+1}}a(k)=\sum_{k\in S_{2n+1},k\equiv 0\mod 2}a(k)+\sum_{k\in S_{2n+1},k\equiv 1\mod 2}a(k)$$
We know that
$$\sum_{k\in S_{2n+1},k\equiv 0\mod 2}a(k)=\sum_{k\in S_{2n}}a(k)=b(2n)$$

And since the odd numbers, when deleting the ending $1$ the $a(\cdot)$ value won't change. Thus, 
$$\sum_{k\in S_{2n+1},k\equiv 1\mod 2}a(k)=\sum_{\in S_{2n}}a(k)=b(n)$$
Therefore we have $b(2n+1)=b(2n)+b(n)$

To prove the third one, we state some of the properties of 
$S_{n}$: Let $n=a_ma_{m-1}\dots a_{k+1}10\dots 0$ ($k$ zeros in the end). Then, $f(n-1)=a_ma_{m-1}\dots a_{k+1}0$. Notice that there are exactly one $1$ less from $f(n-1)$ to $n$, so we do a ``bijection''. Notice that $S(2n)$ can be divided into $b_mb_{m-1}\dots b_{k+1}10\dots 0$ ($k$ zeros in the end) and $b_mb_{m-1}\dots b_{k+1}00\dots 0$ ($k=1$ zeros in the end), differed by the $k+1$th from the last digit. Lett a certain pair of them be $u=b_mb_{m-1}\dots b_{k+1}10\dots 0$, $v=b_mb_{m-1}\dots b_{k+1}00\dots 0$ and $w=b_mb_{m-1}\dots b_{k+1}0$. What we only need to prove is $(a(u)+a(v))=a((u/2)+a(v/2))+a(w)$. Summing over these pairs we have those $a(u)+a(v)$ sums to $b(2n)$, $a(u/2)+a(v/2)$ sums to $b(n)$ and $a(w)$ sums to $b(f(n-1))$.

Now we finish the proof. Let $b_mb_{m-1}\dots b_{k+1}$ end in $q$ zeroes, that is, $b_{k+q+1}=1$, $b_{k+q}=\dots=b_{k+1}=0$. So

$$a(u)-a(u/2)=a(b_mb_{m-1}\dots b_{k+1}10\dots 0)\text{($k$ zeroes)}-a(b_mb_{m-1}\dots b_{k+1}10\dots 0)\text{($k-1$ zeroes)}=(k+1)a(b_mb_{m-1}\dots b_{k+1}1)-ka(b_mb_{m-1}\dots b_{k+1}1)=a(b_mb_{m-1}\dots b_{k+1}1)=a(b_mb_{m-1}\dots b_{k+1})=qa(b_mb_{m-1}\dots b_{k+q+1})$$

$$a(v)-a(v/2)=a(b_mb_{m-1}\dots b_{k+1}00\dots 0)\text{($k+1$ zeroes, $k+q+1$ zeroes in the end totally)}-a(b_mb_{m-1}\dots b_{k+1}00\dots 0)\text{($k$ zeroes, $k+q$ zeroes in the end totally)}=(k+q+1)a(b_mb_{m-1}\dots b_{k+q+1})-(k+q)a(b_mb_{m-1}\dots b_{k+q+1})=a(b_mb_{m-1}\dots b_{k+q+1})$$

$$a(w)=a(b_mb_{m-1}\dots b_{k+1}0)\text{($q+1$ zeroes in the end totally)}=(q+1)a(b_mb_{m-1}\dots b_{k+q+1})$$

So we have $a(u)-a(u/2)+a(v)-a(v/2)=a(w)$, which yields $(a(u)+a(v))=a((u/2)+a(v/2))+a(w)$.