Formalization Blueprint for “An Introduction to Algebraic Combinatorics” by Darij Grinberg

1.14 The generating function of a weighted set

1.14.1 The theory

Definition 1.402
#

(a) A weighted set is a set \(A\) equipped with a function \(w:A\rightarrow \mathbb {N}\), which is called the weight function of this weighted set. For each \(a\in A\), the value \(w\left( a\right) \) is denoted \(\left\vert a\right\vert \) and is called the weight of \(a\) (in our weighted set).

Usually, instead of explicitly specifying the weight function \(w\) as a function, we will simply specify the weight \(\left\vert a\right\vert \) for each \(a\in A\). The weighted set consisting of the set \(A\) and the weight function \(w\) will be called \(\left( A,w\right) \) or simply \(A\) when the weight function \(w\) is clear from the context.

(b) A weighted set \(A\) is said to be finite-type if for each \(n\in \mathbb {N}\), there are only finitely many \(a\in A\) having weight \(\left\vert a\right\vert =n\).

(c) If \(A\) is a finite-type weighted set, then the weight generating function of \(A\) is defined to be the FPS

\[ \sum _{a\in A}x^{\left\vert a\right\vert }=\sum _{n\in \mathbb {N}}\left( \text{\# of }a\in A\text{ having weight }n\right) \cdot x^{n}\in \mathbb {Z}\left[ \left[ x\right] \right] . \]

This FPS is denoted by \(\overline{A}\).

(d) An isomorphism between two weighted sets \(A\) and \(B\) means a bijection \(\rho :A\rightarrow B\) that preserves the weight (i.e., each \(a\in A\) satisfies \(\left\vert \rho \left( a\right) \right\vert =\left\vert a\right\vert \)).

(e) We say that two weighted sets \(A\) and \(B\) are isomorphic (this is written \(A\cong B\)) if there exists an isomorphism between \(A\) and \(B\).

Proposition 1.403

Let \(A\) and \(B\) be two isomorphic finite-type weighted sets. Then, \(\overline{A}=\overline{B}\).

Proof

The weighted sets \(A\) and \(B\) are isomorphic; thus, there exists an isomorphism \(\rho :A\rightarrow B\). Consider this \(\rho \). Then, \(\rho \) is a bijection and preserves the weight (since \(\rho \) is an isomorphism of weighted sets). The latter property says that we have

\begin{equation} \left\vert \rho \left( a\right) \right\vert =\left\vert a\right\vert \ \ \ \ \ \ \ \ \ \ \text{for each }a\in A. \label{pf.prop.gf-ws.iso.wtpres}\end{equation}
66

Now, the definition of \(\overline{B}\) yields

\begin{align*} \overline{B} & =\sum _{b\in B}x^{\left\vert b\right\vert }=\sum _{a\in A}\underbrace{x^{\left\vert \rho \left( a\right) \right\vert }}_{\substack{[=, x, ^, {, \left , \vert , a, \right , \vert , }, \\ , \text , {, (, b, y, , t, h, e, , w, e, i, g, h, t, -, p, r, e, s, e, r, v, a, t, i, o, n, }, \\ , , \text , {, p, r, o, p, e, r, t, y, , a, b, o, v, e, ), }]}}\ \ \ \ \ \ \ \ \ \ \left( \begin{array}[c]{c}\text{here, we have substituted }\rho \left( a\right) \text{ for }b\\ \text{in the sum, since }\rho \text{ is a bijection}\end{array} \right) \\ & =\sum _{a\in A}x^{\left\vert a\right\vert }. \end{align*}

Comparing this with

\[ \overline{A}=\sum _{a\in A}x^{\left\vert a\right\vert }\ \ \ \ \ \ \ \ \ \ \left( \text{by the definition of }\overline{A}\right) , \]

we obtain \(\overline{A}=\overline{B}\).

Definition 1.404
#

Let \(A\) and \(B\) be two weighted sets. Then, the weighted set \(A+B\) is defined to be the disjoint union of \(A\) and \(B\), with the weight function inherited from \(A\) and \(B\) (meaning that each element of \(A\) has the same weight that it had in \(A\), and each element of \(B\) has the same weight that it had in \(B\)). Formally speaking, this means that \(A+B\) is the set \(\left( \left\{ 0\right\} \times A\right) \cup \left( \left\{ 1\right\} \times B\right) \), with the weight function given by

\begin{equation} \left\vert \left( 0,a\right) \right\vert =\left\vert a\right\vert \ \ \ \ \ \ \ \ \ \ \text{for each }a\in A \label{eq.def.gf-ws.djun.wt0}\end{equation}
67

and

\begin{equation} \left\vert \left( 1,b\right) \right\vert =\left\vert b\right\vert \ \ \ \ \ \ \ \ \ \ \text{for each }b\in B. \label{eq.def.gf-ws.djun.wt1}\end{equation}
68

Proposition 1.405

Let \(A\) and \(B\) be two finite-type weighted sets. Then, \(A+B\) is finite-type, too, and satisfies \(\overline{A+B}=\overline{A}+\overline{B}\).

Proof

The formal definition of \(A+B\) says that \(A+B=\left( \left\{ 0\right\} \times A\right) \cup \left( \left\{ 1\right\} \times B\right) \). Thus, the set \(A+B\) is the union of the two disjoint sets \(\left\{ 0\right\} \times A\) and \(\left\{ 1\right\} \times B\) (indeed, these two sets are clearly disjoint, since \(0\neq 1\)).

Let us first check that \(A+B\) is finite-type.

For each \(n\in \mathbb {N}\), there are only finitely many \(a\in A\) having weight \(\left\vert a\right\vert =n\) (since \(A\) is finite-type), and there are only finitely many \(b\in B\) having weight \(\left\vert b\right\vert =n\) (since \(B\) is finite-type). Hence, there are only finitely many \(c\in A+B\) having weight \(\left\vert c\right\vert =n\) (because any such \(c\) either has the form \(\left( 0,a\right) \) for some \(a\in A\) having weight \(\left\vert a\right\vert =n\), or has the form \(\left( 1,b\right) \) for some \(b\in B\) having weight \(\left\vert b\right\vert =n\)). In other words, the weighted set \(A+B\) is finite-type.

Let us now check that \(\overline{A+B}=\overline{A}+\overline{B}\). Indeed, the definition of \(\overline{A+B}\) yields

\begin{align*} \overline{A+B} & =\sum _{c\in A+B}x^{\left\vert c\right\vert }\\ & =\underbrace{\sum _{c\in \left\{ 0\right\} \times A}x^{\left\vert c\right\vert }}_{\substack{[=, \sum , _, {, a, \in , A, }, x, ^, {, \left , \vert , \left , (, , 0, ,, a, \right , ), , \right , \vert , }]}}+\underbrace{\sum _{c\in \left\{ 1\right\} \times B}x^{\left\vert c\right\vert }}_{\substack{[=, \sum , _, {, b, \in , B, }, x, ^, {, \left , \vert , \left , (, , 1, ,, b, \right , ), , \right , \vert , }]}}\\ & =\sum _{a\in A}\underbrace{x^{\left\vert \left( 0,a\right) \right\vert }}_{\substack{[=, x, ^, {, \left , \vert , a, \right , \vert , }, \\ , \text , {, (, b, y, , t, h, e, , d, e, f, i, n, i, t, i, o, n, }, \\ , , \text , {, o, f, , t, h, e, , w, e, i, g, h, t, , o, n, , }, A, +, B, \text , {, ), }]}}+\sum _{b\in B}\underbrace{x^{\left\vert \left( 1,b\right) \right\vert }}_{\substack{[=, x, ^, {, \left , \vert , b, \right , \vert , }, \\ , \text , {, (, b, y, , t, h, e, , d, e, f, i, n, i, t, i, o, n, }, \\ , , \text , {, o, f, , t, h, e, , w, e, i, g, h, t, , o, n, , }, A, +, B, \text , {, ), }]}}=\underbrace{\sum _{a\in A}x^{\left\vert a\right\vert }}_{=\overline{A}}+\underbrace{\sum _{b\in B}x^{\left\vert b\right\vert }}_{=\overline{B}}=\overline{A}+\overline{B}. \end{align*}
Definition 1.406
#

Let \(A\) and \(B\) be two weighted sets. Then, the weighted set \(A\times B\) is defined to be the Cartesian product of the sets \(A\) and \(B\) (that is, the set \(\left\{ \left( a,b\right) \ \mid \ a\in A\text{ and }b\in B\right\} \)), with the weight function defined as follows: For any \(\left( a,b\right) \in A\times B\), we set

\begin{equation} \left\vert \left( a,b\right) \right\vert =\left\vert a\right\vert +\left\vert b\right\vert . \label{eq.def.gf-ws.prod.wt}\end{equation}
69

Proposition 1.407

Let \(A\) and \(B\) be two finite-type weighted sets. Then, \(A\times B\) is finite-type, too, and satisfies \(\overline{A\times B}=\overline{A}\cdot \overline{B}\).

Proof

The proof that \(A\times B\) is finite-type is easy: Let \(n\in \mathbb {N}\). We must prove that there are only finitely many pairs \(\left( a,b\right) \in A\times B\) having weight \(\left\vert \left( a,b\right) \right\vert =n\). Since \(\left\vert \left( a,b\right) \right\vert =\left\vert a\right\vert +\left\vert b\right\vert \), these pairs have the property that \(a\in A\) has weight \(k\) for some \(k\in \left\{ 0,1,\ldots ,n\right\} \), and that \(b\in B\) has weight \(n-k\) for the same \(k\). This leaves only finitely many options for \(k\), only finitely many options for \(a\) (since \(A\) is finite-type and thus has only finitely many elements of weight \(k\)), and only finitely many options for \(b\) (since \(B\) is finite-type and thus has only finitely many elements of \(n-k\)). Altogether, we thus obtain only finitely many options for \(\left( a,b\right) \).

Now, the definition of \(\overline{A\times B}\) yields

\begin{align*} \overline{A\times B} & =\sum _{\left( a,b\right) \in A\times B}\underbrace{x^{\left\vert \left( a,b\right) \right\vert }}_{\substack{[=, x, ^, {, \left , \vert , a, \right , \vert , +, \left , \vert , b, \right , \vert , }, \\ , \text , {, (, b, y, , t, h, e, , d, e, f, i, n, i, t, i, o, n, }, \\ , , \text , {, o, f, , t, h, e, , w, e, i, g, h, t, , o, n, , }, A, \times , B, \text , {, ), }]}}\\ & =\sum _{\left( a,b\right) \in A\times B}\underbrace{x^{\left\vert a\right\vert +\left\vert b\right\vert }}_{=x^{\left\vert a\right\vert }\cdot x^{\left\vert b\right\vert }}\\ & =\sum _{\left( a,b\right) \in A\times B}x^{\left\vert a\right\vert }\cdot x^{\left\vert b\right\vert }=\underbrace{\left( \sum _{a\in A}x^{\left\vert a\right\vert }\right) }_{=\overline{A}}\underbrace{\left( \sum _{b\in B}x^{\left\vert b\right\vert }\right) }_{=\overline{B}}=\overline{A}\cdot \overline{B}. \end{align*}

The weight function on the Cartesian product \(A_{1}\times A_{2}\times \cdots \times A_{k}\) of \(k\) weighted sets is defined by

\begin{equation} \left\vert \left( a_{1},a_{2},\ldots ,a_{k}\right) \right\vert =\left\vert a_{1}\right\vert +\left\vert a_{2}\right\vert +\cdots +\left\vert a_{k}\right\vert . \label{eq.gf-ws.prodk.weight}\end{equation}
70

As a particular case of such Cartesian products, we obtain Cartesian powers when we multiply \(k\) copies of the same weighted set:

Definition 1.408
#

Let \(A\) be a weighted set. Then, \(A^{k}\) (for \(k\in \mathbb {N}\)) means the weighted set \(\underbrace{A\times A\times \cdots \times A}_{k\text{ times}}\).

Proposition 1.409

Let \(A\) be a finite-type weighted set. Let \(k\in \mathbb {N}\). Then, \(A^{k}\) is finite-type, too, and satisfies \(\overline{A^{k}}=\overline{A}^{k}\).

Proof

By induction on \(k\). The base case \(k = 0\) is straightforward: \(A^0\) consists of a single element (the empty tuple) with weight \(0\), so \(\overline{A^0} = 1 = \overline{A}^0\).

For the inductive step, we observe that \(A^{k+1} \cong A \times A^k\) as weighted sets (via the isomorphism that splits a \((k{+}1)\)-tuple into its last entry and the remaining \(k\)-tuple). By Proposition 1.403, their generating functions are equal. By Proposition 1.407, \(\overline{A \times A^k} = \overline{A} \cdot \overline{A^k}\). By the induction hypothesis, \(\overline{A^k} = \overline{A}^k\). Hence \(\overline{A^{k+1}} = \overline{A} \cdot \overline{A}^k = \overline{A}^{k+1}\).

Lemma 1.410

For any weighted set \(A\) and any \(n \in \mathbb {N}\), there is a canonical isomorphism of weighted sets \(A^{n+1} \cong A \times A^n\).

Proof

The isomorphism sends a \((n{+}1)\)-tuple \((a_0, a_1, \ldots , a_n)\) to the pair \((a_n, (a_0, \ldots , a_{n-1}))\). It preserves weight because the sum of entries is unchanged.

Lemma 1.411

Let \(A\) be a finite-type weighted set such that every element has weight \(\geq 1\) (i.e., \(A\) has positive weights). Then the infinite disjoint union \(A^0 + A^1 + A^2 + \cdots \) (consisting of all finite tuples of elements of \(A\)) is also a finite-type weighted set.

Proof

If every element has weight \(\geq 1\), then a tuple of length \(n\) has total weight \(\geq n\). Therefore, for any fixed weight \(m\), we only need to consider tuples of length \(\leq m\). For each such length, there are only finitely many tuples of weight \(m\) (since \(A^k\) is finite-type by Proposition 1.409). Hence the disjoint union is finite-type.

1.14.2 Domino tilings

Definition 1.412
#

(a) A shape means a subset of \(\mathbb {Z}^{2}\).

We draw each \(\left( i,j\right) \in \mathbb {Z}^{2}\) as a unit square with center at the point \(\left( i,j\right) \) (in Cartesian coordinates); thus, a shape can be drawn as a cluster of squares.

(b) For any \(n,m\in \mathbb {N}\), the shape \(R_{n,m}\) (called the \(n\times m\)-rectangle) is defined to be

\[ \left\{ 1,2,\ldots ,n\right\} \times \left\{ 1,2,\ldots ,m\right\} =\left\{ \left( i,j\right) \in \mathbb {Z}^{2}\ \mid \ 1\leq i\leq n\text{ and }1\leq j\leq m\right\} . \]

(c) A domino means a size-\(2\) shape of the form

\begin{align*} & \left\{ \left( i,j\right) ,\ \left( i+1,j\right) \right\} \text{ (a ``\emph{horizontal domino}'')}\ \ \ \ \ \ \ \ \ \ \text{or}\\ & \left\{ \left( i,j\right) ,\ \left( i,j+1\right) \right\} \text{ (a ``\emph{vertical domino}'')}\end{align*}

for some \(\left( i,j\right) \in \mathbb {Z}^{2}\).

(d) A domino tiling of a shape \(S\) is a set partition of \(S\) into dominos (i.e., a set of disjoint dominos whose union is \(S\)).

(e) For any \(n,m\in \mathbb {N}\), let \(d_{n,m}\) be the # of domino tilings of \(R_{n,m}\).

We define the weighted set

\[ D := \left\{ \text{domino tilings of height-}2\text{ rectangles}\right\} = \left\{ \text{domino tilings of }R_{n,2}\text{ with }n\in \mathbb {N}\right\} , \]

with the weight of a tiling \(T\) of \(R_{n,2}\) defined to be \(\left\vert T\right\vert := n\). Thus, \(D\) is a finite-type weighted set, with weight generating function \(\overline{D}=\sum _{n\in \mathbb {N}}d_{n,2}x^{n}\).

A fault of a domino tiling \(T\) is a vertical line \(\ell \) such that each domino of \(T\) lies either left of \(\ell \) or right of \(\ell \) (but does not straddle \(\ell \)), and there is at least one domino of \(T\) that lies left of \(\ell \), and at least one domino of \(T\) that lies right of \(\ell \).

A domino tiling is called faultfree if it is nonempty and has no fault. We define the weighted set

\[ F:=\left\{ \text{\textbf{faultfree} domino tilings of }R_{n,2}\text{ with }n\in \mathbb {N}\right\} \]

(with the same weights as in \(D\)).

Lemma 1.413

Any domino tiling of a height-\(2\) rectangle can be decomposed uniquely into a tuple of faultfree tilings of (usually smaller) height-\(2\) rectangles, by cutting it along its faults. (If the original tiling was faultfree, then it decomposes into a \(1\)-tuple. If the original tiling was empty, then it decomposes into a \(0\)-tuple.)

Moreover, the sum of the weights of the faultfree tilings in the tuple is the weight of the original tiling. (In other words, if a tiling \(T\) decomposes into the tuple \(\left( T_{1},T_{2},\ldots ,T_{k}\right) \), then \(\left\vert T\right\vert =\left\vert T_{1}\right\vert +\left\vert T_{2}\right\vert +\cdots +\left\vert T_{k}\right\vert \).)

In the language of weighted sets, this yields an isomorphism

\[ D\cong F^{0}+F^{1}+F^{2}+F^{3}+\cdots , \]

and therefore, by the infinite analogue of Proposition 1.405,

\[ \overline{D} =\overline{F^{0}+F^{1}+F^{2}+F^{3}+\cdots }=\overline{F^{0}}+\overline{F^{1}}+\overline{F^{2}}+\overline{F^{3}}+\cdots . \]

By Proposition 1.409, this equals

\[ \overline{F}^{0}+\overline{F}^{1}+\overline{F}^{2}+\overline{F}^{3}+\cdots =\frac{1}{1-\overline{F}}. \]
Proof

The decomposition is defined by cutting the tiling along its faults. Given a tiling \(T\) of \(R_{n,2}\):

  • If \(n = 0\) (empty tiling), the decomposition is the empty \(0\)-tuple.

  • If \(T\) has no faults, the decomposition is the \(1\)-tuple \((T)\).

  • If \(T\) has faults, let \(k\) be the smallest fault position. Cut \(T\) at position \(k\) to obtain a faultfree left part (a tiling of \(R_{k,2}\)) and a right part (a tiling of \(R_{n-k,2}\)). Recursively decompose the right part, and prepend the left part.

The composition (inverse map) concatenates a tuple of faultfree tilings horizontally by shifting each component to the appropriate position. The weight-preservation property follows because the total width of the concatenated rectangle equals the sum of the widths of the components.

The proof that these two maps are inverse to each other requires showing:

  1. Composing and then decomposing recovers the original tuple (by showing that faults in the composed tiling occur exactly at the partial width sums).

  2. Decomposing and then composing recovers the original tiling (by showing that cutting at faults and reassembling gives back the original domino set).

Helpers for the decomposition isomorphism

Lemma 1.414

At a fault position \(k\) of a tiling \(T\) of \(R_{n,2}\), each domino of \(T\) lies entirely in the left part (all \(x\)-coordinates \(\le k\)) or entirely in the right part (all \(x\)-coordinates \(\ge k+1\)).

Proof

For horizontal dominos, the fault condition directly gives that both cells lie on the same side. For vertical dominos, both cells share the same \(x\)-coordinate, so they are trivially on one side.

Lemma 1.415

Given a tiling \(T\) of \(R_{n,2}\) with a fault at position \(k\), the set of dominos lying in the left part forms a valid tiling of \(R_{k,2}\).

Proof

Pairwise disjointness is inherited from \(T\). For coverage: every cell \((x,y)\) with \(1 \le x \le k\) is covered by some domino \(d \in T\), and by Lemma 1.414, \(d\) lies entirely in the left part.

Lemma 1.416

Given a tiling \(T\) of \(R_{n,2}\) with a fault at position \(k\), the set of dominos lying in the right part, after shifting left by \(k\), forms a valid tiling of \(R_{n-k,2}\).

Proof

Each right-part domino is shifted by \(-k\) in the \(x\)-coordinate. Disjointness is preserved since shifting is injective. Coverage follows because every cell \((x,y)\) with \(k+1 \le x \le n\) is covered by a right-part domino.

Lemma 1.417

The left restriction at the minimum fault position is faultfree. That is, if \(k\) is the smallest fault of \(T\) and \(j {\lt} k\), then \(j\) is not a fault of the restricted tiling.

Proof

A fault at \(j {\lt} k\) in the left restriction would induce a fault at \(j\) in the original tiling \(T\) (since all horizontal dominos in the left part are also in \(T\)). But \(k\) is the minimum fault, so no fault at \(j {\lt} k\) exists in \(T\).

Lemma 1.418

Given a \(k\)-tuple of faultfree tilings \((T_1, \ldots , T_k)\) of rectangles \(R_{m_1,2}, \ldots , R_{m_k,2}\), their horizontal concatenation (shifting each \(T_i\) by the cumulative width \(m_1 + \cdots + m_{i-1}\)) produces a valid tiling of \(R_{m_1 + \cdots + m_k, 2}\).

Proof

Dominos from different components have disjoint \(x\)-coordinate ranges (Lemma 1.419), so they are pairwise disjoint. Coverage follows because each point in the total rectangle lies in some component’s range and is covered by that component’s shifted dominos.

Lemma 1.419

Dominos from different components \(i_1 \ne i_2\) in the composition have disjoint shapes. This follows from the fact that their \(x\)-coordinate ranges are separated by the partial width sums.

Proof

For \(i_1 {\lt} i_2\), the partial width sum satisfies \(\sum _{j {\lt} i_1} m_j + m_{i_1} \le \sum _{j {\lt} i_2} m_j\), so the \(x\)-coordinate ranges \([1 + \text{offset}_{i_1}, m_{i_1} + \text{offset}_{i_1}]\) and \([1 + \text{offset}_{i_2}, m_{i_2} + \text{offset}_{i_2}]\) do not overlap.

Lemma 1.420

Given a tiling \(T\) of \(R_{n,2}\), there exists a \(k\)-tuple of faultfree tilings whose horizontal concatenation reproduces \(T\). The decomposition is constructed recursively: for \(n = 0\) it returns the empty tuple; if \(T\) is faultfree it returns the singleton \((T)\); otherwise it cuts at the minimum fault and recurses on the right part.

Proof

Well-founded recursion on \(n\): at each fault \(k\), the right part has width \(n - k {\lt} n\).

Lemma 1.421

Decomposing a tiling \(T\) and then composing the resulting tuple recovers \(T\): \(\mathrm{compose}(\mathrm{decompose}(T)) = T\).

Proof

By strong induction on \(n\). The key step shows that the set of dominos of \(T\) equals the union of the left restriction’s dominos and the shifted right restriction’s dominos (Lemma 1.422), and by the induction hypothesis the right part reconstructs correctly.

Lemma 1.422

At a fault position \(k\), the original tiling’s dominos equal the union of the left restriction’s dominos and the right restriction’s dominos shifted back by \(k\).

Proof

Every domino is in the left or right part. Left-part dominos are unchanged. Right-part dominos are shifted by \(-k\) and then back by \(+k\), recovering the original.

Lemma 1.423

Composing a \(k\)-tuple of faultfree tilings and then decomposing recovers the original tuple: \(\mathrm{decompose}(\mathrm{compose}(t_1, \ldots , t_k)) = (t_1, \ldots , t_k)\).

Proof

By strong induction on \(k\). For \(k = 0\) and \(k = 1\) the result is immediate. For \(k \ge 2\): the composed tiling has a fault at position \(m_1 = |t_1|\) (Lemma 1.424); no earlier fault exists (Lemma 1.425); the minimum fault is \(m_1\) (Lemma 1.426); the left restriction equals \(t_1\) (Lemma 1.427); and the right restriction equals the composition of the tail \((t_2, \ldots , t_k)\) (Lemma 1.428). The induction hypothesis on the tail completes the proof.

Lemma 1.424

For \(k \ge 2\), the composed tiling of a \(k\)-tuple has a fault at position \(m_1\) (the width of the first component). No horizontal domino crosses this boundary because dominos from the first component have \(x \le m_1\) and dominos from later components have \(x \ge m_1 + 1\).

Proof

The width \(m_1 {\gt} 0\) (since faultfree tilings are nonempty) and \(m_1 {\lt} m_1 + m_2 + \cdots \) (since \(k \ge 2\) and \(m_2 {\gt} 0\)). Each horizontal domino from component \(0\) has both \(x\)-coordinates \(\le m_1\); each horizontal domino from component \(i \ge 1\) has both \(x\)-coordinates \(\ge m_1 + 1\).

Lemma 1.425

For \(k \ge 1\), if \(p {\lt} m_1\) (the width of the first component), then \(p\) is not a fault in the composed tiling. This is because a fault at \(p\) would induce a fault at \(p\) in the first (faultfree) component.

Proof

Every domino from component \(0\) that is also in the composed tiling at position \(p\) witnesses the same crossing in the first component. But the first component is faultfree, so no such fault exists.

Lemma 1.426

For \(k \ge 2\), the minimum fault position of the composed tiling equals \(m_1\) (the width of the first component).

Proof

There is a fault at \(m_1\) (Lemma 1.424) and no fault at any \(p {\lt} m_1\) (Lemma 1.425).

Lemma 1.427

For \(k \ge 2\), the left restriction of the composed tiling at the first boundary \(m_1\) equals the first component’s tiling.

Proof

Dominos in the left part at position \(m_1\) come exactly from component \(0\) (since components \(i \ge 1\) have \(x \ge m_1 + 1\)), and the partial width sum for component \(0\) is \(0\), so no shifting occurs.

Lemma 1.428

For \(k \ge 2\), the right restriction of the composed tiling at the first boundary \(m_1\), after shifting, equals the composition of the tail \((t_2, \ldots , t_k)\).

Proof

The dominos in the right part come from components \(i \ge 1\). After unshifting by \(m_1\), each component \(i\)’s partial width sum decreases by \(m_1\), matching the partial width sums of the tail composition.

Lemma 1.429

The sum of the widths of the faultfree tilings returned by the decomposition equals the original width \(n\). That is, \(\sum _{i} m_i = n\).

Proof

Follows from \(\mathrm{compose}(\mathrm{decompose}(T)) = T\) (Lemma 1.421) and the fact that \(\mathrm{compose}\) produces a tiling whose width is the sum of the component widths.

The only faultfree tilings of height-\(2\) rectangles have width \(1\) (one vertical domino) or width \(2\) (two horizontal dominos stacked vertically). Thus, the weighted set \(F\) consists of just two tilings: one of weight \(1\) and one of weight \(2\). Hence \(\overline{F}=x+x^{2}\), and so

\[ \overline{D}=\frac{1}{1-\overline{F}}=\frac{1}{1-\left( x+x^{2}\right) }=\frac{1}{1-x-x^{2}}=f_{1}+f_{2}x+f_{3}x^{2}+f_{4}x^{3}+\cdots , \]

where \(\left( f_{0},f_{1},f_{2},\ldots \right) \) is the Fibonacci sequence. Thus \(d_{n,2}=f_{n+1}\) for each \(n\in \mathbb {N}\).

Lemma 1.430

The only faultfree tilings of height-\(2\) rectangles have width \(1\) or \(2\).

Proof

Consider any faultfree tiling of a height-\(2\) rectangle \(R_{n,2}\) with \(n \geq 3\). Look at the domino that covers the cell \((1,1)\). If it is a vertical domino \(\{ (1,1),(1,2)\} \), then this vertical domino constitutes the entire first column, so there is a fault at position \(1\) – contradiction. If it is a horizontal domino \(\{ (1,1),(2,1)\} \), then there must be a horizontal domino \(\{ (1,2),(2,2)\} \) stacked above it, and these two dominos cover the first two columns entirely, so there is a fault at position \(2\) – contradiction.

Lemma 1.431

The weight generating function of faultfree height-\(2\) tilings is \(x + x^2\).

Proof

By the classification lemma, there is exactly one faultfree tiling of width \(1\) (the single vertical domino) and exactly one faultfree tiling of width \(2\) (the two horizontal dominos), and no faultfree tilings of any other width. Hence \(\overline{F} = x + x^2\).

Lemma 1.432

For any \(n \in \mathbb {N}\), \(d_{n+2,2} = d_{n,2} + d_{n+1,2}\).

Proof

We construct a bijection \(\mathrm{Tiling}(R_{n+2,2}) \simeq \mathrm{Tiling}(R_{n,2}) \sqcup \mathrm{Tiling}(R_{n+1,2})\) by classifying tilings according to what covers the cell \((1,1)\):

  • If a vertical domino \(\{ (1,1),(1,2)\} \) covers \((1,1)\), then removing it and shifting gives a tiling of \(R_{n+1,2}\).

  • If a horizontal domino \(\{ (1,1),(2,1)\} \) covers \((1,1)\), then \(\{ (1,2),(2,2)\} \) must also be present; removing both and shifting gives a tiling of \(R_{n,2}\).

The inverse maps are given by prepending a vertical domino (resp. a pair of horizontal dominos) and shifting the remaining dominos.

Helpers for the Fibonacci recurrence

Lemma 1.433

For \(n \ge 1\), every tiling \(T\) of \(R_{n,2}\) contains a domino covering the cell \((1,1)\).

Proof

The cell \((1,1) \in R_{n,2}\) is covered by the tiling. By the coverage condition, some domino in \(T\) contains \((1,1)\).

Lemma 1.434

If a domino \(d\) in a tiling \(T\) of \(R_{n,2}\) covers \((1,1)\), then \(d\) is either the vertical domino \(\{ (1,1),(1,2)\} \) or the horizontal domino \(\{ (1,1),(2,1)\} \).

Proof

A horizontal domino covering \((1,1)\) must be \(\{ (1,1),(2,1)\} \) since extending left to \((0,1)\) would leave the rectangle. A vertical domino covering \((1,1)\) must be \(\{ (1,1),(1,2)\} \) since extending down to \((1,0)\) would leave the rectangle.

Lemma 1.435

If a tiling \(T\) of \(R_{n,2}\) (with \(n \ge 2\)) contains the horizontal domino \(\{ (1,1),(2,1)\} \), then \(T\) also contains \(\{ (1,2),(2,2)\} \).

Proof

The cell \((1,2)\) must be covered. The vertical domino \(\{ (1,1),(1,2)\} \) would overlap with \(\{ (1,1),(2,1)\} \). So \((1,2)\) must be covered by a horizontal domino \(\{ (1,2),(2,2)\} \).

Lemma 1.436

If \(n \ge 2\) and the tiling \(T\) of \(R_{n,2}\) contains the vertical domino \(\{ (1,1),(1,2)\} \), then \(T\) has a fault at position \(1\). (The vertical domino covers the entire first column, so no horizontal domino crosses from column \(1\) to column \(2\).)

Proof

The vertical domino covers both cells of column \(1\). Any other domino covering a cell in column \(1\) would overlap with the vertical domino. Hence all other dominos have \(x\)-coordinates \(\ge 2\), giving a fault at \(1\).

Lemma 1.437

If \(n \ge 3\) and the tiling \(T\) of \(R_{n,2}\) contains the horizontal domino \(\{ (1,1),(2,1)\} \), then \(T\) has a fault at position \(2\). The two horizontal dominos \(\{ (1,1),(2,1)\} \) and \(\{ (1,2),(2,2)\} \) cover columns \(1\)–\(2\) entirely.

Proof

By Lemma 1.435, \(\{ (1,2),(2,2)\} \) is also present. These two dominos cover all four cells of columns \(1\)–\(2\). Any other domino must avoid all these cells, forcing all \(x\)-coordinates \(\ge 3\).

Lemma 1.438

Given a tiling \(T\) of \(R_{m,2}\), prepending a vertical domino \(\{ (1,1),(1,2)\} \) and shifting all of \(T\)’s dominos right by \(1\) gives a valid tiling of \(R_{m+1,2}\).

Proof

Disjointness holds because the vertical domino covers column \(1\) and the shifted dominos have \(x \ge 2\). Coverage: column \(1\) is covered by the vertical domino; columns \(2\) through \(m+1\) are covered by the shifted dominos.

Lemma 1.439

Given a tiling \(T\) of \(R_{m,2}\), prepending horizontal dominos \(\{ (1,1),(2,1)\} \) and \(\{ (1,2),(2,2)\} \) and shifting all of \(T\)’s dominos right by \(2\) gives a valid tiling of \(R_{m+2,2}\).

Proof

Disjointness holds because the two horizontal dominos cover columns \(1\)–\(2\) (and are disjoint from each other since they cover different rows) and the shifted dominos have \(x \ge 3\). Coverage is verified similarly to Lemma 1.438.

Lemma 1.440

For any \(n, m \in \mathbb {N}\), the set of all domino tilings of \(R_{n,m}\) is finite.

Proof

A tiling is determined by its set of dominos, which is a subset of the (finite) set of all dominos that fit inside \(R_{n,m}\).

The Fibonacci formula

Lemma 1.441

For any \(n \in \mathbb {N}\), \(d_{n,2} = f_{n+1}\), where \((f_k)_{k \ge 0}\) is the Fibonacci sequence.

Proof

By strong induction on \(n\). Base cases: \(d_{0,2} = 1 = f_1\) and \(d_{1,2} = 1 = f_2\). Inductive step: \(d_{n+2,2} = d_{n,2} + d_{n+1,2}\) (Lemma 1.432) \(= f_{n+1} + f_{n+2}\) (induction hypothesis) \(= f_{n+3}\) (Fibonacci recurrence).

Lemma 1.442

The count of elements of weight \(n\) in the weighted set \(D\) of height-\(2\) tilings equals \(d_{n,2}\).

Proof

The elements of weight \(n\) in \(D\) are exactly the tilings of \(R_{n,2}\).

Lemma 1.443

The weight generating function of \(D\) equals \(\sum _n f_{n+1} x^n\), the Fibonacci generating function.

Proof

The \(n\)-th coefficient is the number of elements of weight \(n\) in \(D\), which is \(d_{n,2} = f_{n+1}\).