I am struggling with understanding one result in Buera and Nicolini (2004) published in JME. In page 538, they write $$A_t(h^t) b_{t-1}(h^{t-1}) = Z_t(h^{t-1})$$ where $A_t(h^t)$ is a $N \times J$ matrix, $b_{t-1}(h^{t-1})$ is a $J\times 1$ vector, and $Z_t(h^{t-1})$ is a $N\times 1$ vector. $N$ is the number of states and $J$ is the number of maturities. Then, in page 539, they say that
"a necessary condition for the Ramsey to be implementable is that the government can issue non-contingent bonds in at least as many maturities as possible realization of the stock, i.e., $J \ge N$.''
For an ease of notation, write the above equation as $A b = Z$. Suppose that $J > N$. Premultiplying a $J \times N$ matrix $D$, $$D Ab = D Z$$ If $D$ is an inverse of $A$, rank($DA$) = $J$. But, $\text{rank}(DA) \le \min(\text{rank}(D), \text{rank}(A))\le N$. Contradiction. I think I am missing something important. I would appreciate if someone helps me with this.