The complete binary tree is breadth-first ordered 1 to $n$ where $n$ is the number of nodes. The thing I cant seem to understand is that why are the children of node $N$ always $2N$ and $2N+1$?
For example why are the children of node 3 six and seven? Is there a mathematical way to prove this? Thanks

This is only true because it is a complete binary tree.
There are twice as many nodes in each succeeding level (starting from the root at level $k=0$). Thus, at level $k$, there are $2^k$ nodes and the index of the first node is $2^0 + 2^1 + \dots + 2^{k-1} + 1 = 2^k$.
At level $k$, the children of the first node (index $N = 2^k$) will be labeled as soon as the remaining $2^k-1$ nodes on level $k$ have been labeled. Thus the first child will have index $$2^k + (2^k - 1) + 1 = 2 \cdot 2^k = 2N$$ and the next child will have $2N+1$.
The parent node of index $N+1$ will have the children with succeeding child indices, i.e. $2N+2 = 2(N+1)$ and $2N+3 = 2(N+1)+1$ thus the pattern is preserved. This holds for any level $k$.