\section{Fibonacci matrices, six pieces, and ordering proofs}\label{sec:snakes} \subsection{From a Farey label to an actual matching count} A snake graph is a chain of square tiles, each attached to the right of or above the preceding tile. Shared edges are counted once. A perfect matching covers every vertex exactly once. The Markov snake associated with a reduced $0
194=13^2+5^2=(B^2)_{11}$.
\subsubsection{Run counts and general index shifts}
To apply the same comparison at arbitrary run lengths, index the blocks by
\begin{equation}\label{eq:fibrun}
\mathcal A_t=\mat{F_{2t+3}}{F_{2t+1}}{F_{2t+1}}{F_{2t-1}},
\qquad t\ge0.
\end{equation}
Thus $A=\mathcal A_k$, $B=\mathcal A_{k-1}$ and $C=\mathcal A_{k-2}$
in \eqref{eq:fibAB}. The four boundary counts of a straight block of
$2t+1$ tiles are $F_{2t+3},F_{2t+1},F_{2t+1},F_{2t-1}$:
these follow by conditioning on the first edge of a ladder, giving the
Fibonacci recurrence; at $t=0$ they are $(2,1,1,1)$.
Gluing successive runs with their paired connector states therefore gives,
for $w=a^{h_1}b\cdots a^{h_p}b$ with $h_1\ge1$ and $h_j\ge0$,
\begin{equation}\label{eq:fibword}
\mu(w)=[\mathcal A_{h_1-1}\mathcal A_{h_2}\cdots\mathcal A_{h_p}]_{11}.
\end{equation}
The first run is shortened by the removed initial $a$; the final $b$
closes the other end. Equivalently, a block-index list $(t_1,\ldots,t_p)$
represents $w=a^{t_1+1}ba^{t_2}b\cdots a^{t_p}b$, with
$t_1+\cdots+t_p=q-1$.
Fibonacci addition gives the scalar index-shifting identity
\[
F_{2r+1}F_{2s+1}-F_{2r-1}F_{2s+3}=F_{2(r-s)-2}.
\]
Apply it to the two summands of each product entry to obtain
\begin{equation}\label{eq:runbalance}
\mathcal A_r\mathcal A_s-\mathcal A_{r-1}\mathcal A_{s+1}
=2\mat{F_{2(r-s)-2}}{F_{2(r-s)}}{F_{2(r-s)-4}}{F_{2(r-s)-2}},
\quad r\ge1,\ s\ge0.
\end{equation}
Consequently, whenever two adjacent indices differ by at least two,
moving one unit from the larger to the smaller strictly decreases the
whole product's upper-left entry. The case $r=s+2$ is exactly
\eqref{eq:AC-BB}. The only remaining local comparison has adjacent
indices differing by one; it is an interchange of the two blocks.
\subsubsection{Comparing the surrounding Fibonacci blocks}
For a finite list of block indices, define the ratio of its two open counts by
\[
\rho(u_1,\ldots,u_m)=
\frac{[\mathcal A_{u_1}\cdots\mathcal A_{u_m}]_{21}}
{[\mathcal A_{u_1}\cdots\mathcal A_{u_m}]_{11}},
\qquad \rho(\varnothing)=0.
\]
All these ratios lie in $[0,1)$. Direct multiplication gives
\begin{equation}\label{eq:fib-ratio}
\rho(t,U)=
\frac{F_{2t+1}+F_{2t-1}\rho(U)}
{F_{2t+3}+F_{2t+1}\rho(U)}.
\end{equation}
Its right-hand side increases strictly with $\rho(U)$, since
\eqref{eq:odd-fibonacci} gives $\det\mathcal A_t=1$.
Moreover, another application of that identity gives
\[
\frac{F_{2t+1}}{F_{2t+3}}-
\frac{F_{2t+3}+F_{2t+1}}{F_{2t+5}+F_{2t+3}}
=\frac{1}{F_{2t+3}(F_{2t+5}+F_{2t+3})}>0.
\]
Hence $\rho(t+1,U)<\rho(t,V)$ for any two finite tails $U,V$.
Two lists can therefore be compared by cancelling equal initial indices:
at the first unequal pair, the larger index gives the smaller ratio;
an exhausted list has the smaller ratio than any nonempty remainder.
For adjacent blocks in positions $j,j+1$, the outward lists are
$(t_{j-1},\ldots,t_1)$ on the left and $(t_{j+2},\ldots,t_p)$ on the right.
At $r=s+1$, \eqref{eq:runbalance} becomes
\[
\mathcal A_{s+1}\mathcal A_s-\mathcal A_s\mathcal A_{s+1}
=2\mat01{-1}0.
\]
After multiplication by the surrounding blocks, its upper-left entry has
the sign of
\begin{equation}\label{eq:flip}
\rho(t_{j+2},\ldots,t_p)-\rho(t_{j-1},\ldots,t_1).
\end{equation}
Indeed, it equals this difference times twice the positive upper-left
entries of the two surrounding products. This proves the needed
surrounding-block test entirely in the same Fibonacci matrices.
\begin{lemma}[Fibonacci-matrix normalization]\label{lem:normalization}
For coprime positive $p,q$, every word $w=azb$ with $q$ letters $a$ and
$p$ letters $b$ satisfies $\mu(w_{p/q})\le\mu(w)$.
\end{lemma}
\begin{proof}
For $p=1$ there is only the word $a^qb$. Assume $p>1$ and use the
block-index list in \eqref{eq:fibword}. Its prefix discrepancies are
\[
\delta_j=qj-p(1+t_1+\cdots+t_j)\quad(1\le j\le p),
\qquad \delta_0=\delta_p=0.
\]
Changing $(t_j,t_{j+1})$ to $(t_j+1,t_{j+1}-1)$ decreases only
$\delta_j$, by $p$; the reverse change increases only $\delta_j$, by $p$.
We show that an appropriate change always decreases the matching count
until $-p\le\delta_j\le0$ for every $j$.
The sign checks use just a prefix-sum identity. Put $h_1=t_1+1$ and
$h_i=t_i$ for $i>1$, the actual run lengths. Whenever $j-m\ge0$ and
$j+m\le p$,
\begin{equation}\label{eq:prefix-pair}
\delta_{j-m}+\delta_{j+m}
=2\delta_j+p\left(
\sum_{i=j-m+1}^{j}h_i-\sum_{i=j+1}^{j+m}h_i\right).
\end{equation}
In the block indices, the left sum has the extra $1$ precisely when it
includes $t_1$.
\emph{First remove positive discrepancies.}
Choose the rightmost largest $\delta_j>0$ and transfer one unit from
$t_{j+1}$ to $t_j$. Comparison with its two neighboring discrepancies
gives $h_j\delta_j$, again impossible
(including simultaneous exhaustion, when $2j=p$).
The left outward ratio is therefore strictly larger than the right one.
Reversing the interchange in \eqref{eq:flip} shows that the selected
transfer strictly decreases the count. It also decreases
$\sum_{j=1}^{p-1}\delta_j$. There are only finitely many nonnegative
block-index lists of sum $q-1$, so this phase ends with all $\delta_j\le0$.
\emph{Then remove discrepancies below $-p$.}
Choose the leftmost smallest $\delta_j<-p$ and transfer one unit from
$t_j$ to $t_{j+1}$. For $j>1$, the neighboring comparisons give
$h_j>q/p>h_{j+1}$; for $j=1$, the inequality $\delta_1<-p$ gives
$t_1>q/p$, while $t_2
0$, whenever both fractions are reduced and lie in $(0,1)$,
\begin{align*}
m_{p/q}&>m_{(p+i)/(q-i)}&&\text{(fixed sum)},\\
m_{p/q}&