I have two vectors, $(b_1,\cdots,b_k)$ and $(ms_1,\cdots,ms_{2^k})$. Let $\overline{b_l} = (1-b_l)$ be the falsity term of $b_l$. As an example consider $k=3$, then the ordering I require is:
$m_1 = b_1b_2b_3$
$m_2 = b_1b_2\overline{b_3}$
$m_3 = b_1\overline{b_2}b_3$
$m_4 = \overline{b_1}b_2b_3$
$m_5 = b_1\overline{b_2}\overline{b_3}$
$m_6 = \overline{b_1}b_2\overline{b_3}$
$m_7 =\overline{b_1}\overline{b_2}b_3$
$m_8 = \overline{b_1}\overline{b_2}\overline{b_3}$.
What would be a formula for defining $1 \le j \le 8$?. What would a generalised formula be for $m_j$ such that $1 \le j \le 2^k$?. I have tried using binary, however, this ordering does not group the terms correctly into sets with the same number of false terms.
You can use a curious place-value system, where position $i$ (from the right, starting at $i=0$) gets place value, $N+2^i$ where $N$ is sufficiently large do dominate those powers of $2$, for instance $N=2^n$ if you are dealing with $n$ bits. You probably want to give truth the value $0$ and falsehood the value $1$, opposite to what is otherwise usual. Then you can order the resulting numbers naturally.
In the example you would have the following values, with $N=10\geq2^3$ (for human readability) $$ \begin{matrix} & \textrm{digits} & \textrm{value}\\ m_1 & (0,0,0) & 0 \\ m_2 & (0,0,1) & 11 \\ m_3 & (0,1,0) & 12 \\ m_4 & (1,0,0) & 14 \\ m_5 & (0,1,1) & 23 \\ m_6 & (1,0,1) & 25 \\ m_7 & (1,1,0) & 26 \\ m_8 & (1,1,1) & 37 \\ \end{matrix} $$