Spanning Tree Bounds for Grid Graphs

Among subgraphs with a fixed number of vertices of the regular square lattice, we prove inequalities that essentially say that those with smaller boundaries have larger numbers of spanning trees and vice-versa. As an application, we relate two commonly used measurements of the compactness of district maps.


Introduction
For a finite connected graph G, let τ (G) denote its number of spanning trees.The study of this measurement goes back to Kirchoff's Matrix-Tree Theorem, which equates it with the product of the non-zero eigenvalues of the Laplacian of G [11].
Let L(Z 2 ) denote the regular square lattice, which has vertex set Z 2 and rook-adjacent edges.We are interested here in grid graphs, by which we mean finite connected subgraphs of L(Z 2 ).The bulk limit of L(Z 2 ) is known to equal 4C  π , where C is Catalan's constant.This means that where G(1) ⊂ G(2) ⊂ • • • is any nested sequence of grid graphs (satisfying certain weak hypotheses) whose union equals L(Z 2 ).In this paper, V (G) and E(G) will denote the vertex set and edge set of a graph G.For this theorem and analogous results for other lattices, see [2], [17], [18], [19], [21] and references therein.
There is a good intuition that, among grid graphs with a fixed number of vertices (or even among more general classes of graphs), the ones with higher numbers of spanning trees should have smaller boundaries and vice-versa.Asymptotic evidence for this intuition is found in [10].
Further evidence comes from recent work on the mathematics of redistricting.For the reversible version of the spanning-tree-based MCMC algorithm by which ensembles of maps are commonly generated, the stationary distribution is known to assign a probability to each map that is proportional to the map's spanning tree score (which means the product of the numbers of spanning trees of its districts); see [4], [5], [6].Thus, the algorithm prefers maps whose districts have larger numbers of spanning trees.Data from large ensembles of maps indicate a strong negative correlation between a map's spanning tree score and its number of cut edges (which is a discrete measurement of the total size of the district boundaries) [4].Thus, the algorithm seems to prefer maps whose districts have small boundaries, and one purpose of this paper is to more rigorously understand this behavior.
The following important result, due to Russell Lyons, says that the bulk limit is an upper bound: Theorem 1.1 (Lyons).If G is a grid graph, then For completeness, we'll include Lyons' unpublished proof of this theorem in the next section.In terms of the base b = exp(4C/π) ≈ 3.2099, Lyons' theorem can be re-phrased as: Our main result is related to this, and is easiest to state for the following natural class of grid graphs.Definition 1.2.A simple closed loop α in L(Z 2 ) is a sequence of more than two distinct vertices where each successive pair (including the pair consisting of the first and the last) is an edge of L(Z 2 ).A grid graph G is called simple if it is comprised of all of the vertices and edges that are on and interior to a simple closed loop α in L(Z 2 ).In this case, the set vertices of α is called the boundary of G, denoted ∂G.The area of G, denoted Area(G), means the area of the interior of α, or equivalently the number of faces of G.  Our main result is the following theorem, which forces graphs with larger boundaries have smaller numbers of spanning trees and vice-versa: |∂G| − 1 follows from Pick's Theorem [15] or from an elementary argument that we'll include in Section 4, where we'll also prove that ∂G contains one more than half of the vertices of ∂G.
We'll show that the lower bound of Theorem 1.4 more generally makes sense and is true for all grid graphs, but that the upper bound is only true of simple grid graphs.
The example of a 1-by-1 square demonstrates that the upper bound of Theorem 1.4 is sharp.However when |∂G| |V (G)| becomes small, this upper bound becomes worse than Theorem 1.1.To improve this situation, we give a much stronger upper bound in Section 6.
This paper is organized as follows.Section 2 contains Lyons' unpublished proof of Theorem 1.1.Section 3 explains the main idea of this paper with an illuminating example.Section 4 derives basic properties of the top-left boundary of a grid graph.Sections 5 and 6 respectively prove the lower and upper bound of Theorem 1.4 plus generalizations and improvements.
Finally in Section 7 we apply our main theorem to relate two different measurements of compactness that are commonly used in the mathematical redistricting literature: a map's cut edge count and its spanning tree score.Empirical evidence suggests a very strong negative correlation between these two measurements, and our results partially account for this correlation.Independent work by Procaccia and Tucker-Folz related these two measurements for general planar graphs [16]; in the case of grid graphs, our results are complimentary to theirs.
−n ≤ k < n.Notice that each H n is isomorphic to a grid graph; that is, the construction can be embedded in L(Z 2 ).
We have τ By [13, Theorem 3.2], the limit of the latter quantity is the tree entropy of the random rooted infinite graph H ∞ formed similarly from all copies G k and rooted at a uniformly random vertex of G 0 .Clearly H ∞ is stochastically dominated by the entire square lattice L(Z 2 ), whence the tree entropy of H ∞ is strictly less than that of L(Z 2 ) by [14,Theorem 3.2].The latter is 4C/π, which proves the claimed upper bound.
Notice that this proof generalizes to yield the analogous result for any lattice (in any dimension) with a transitive group of translation symmetries.

Setup and example
In this section, let G be a grid graph.Our main technique involves building G by adding one vertex at a time in the words-on-a-page order (starting with the top row ordered left-to-right and ending with the bottom row ordered left-to-right), and studying the multiplicative factor by which the spanning tree count grows with each added vertex.
More precisely, let v ∈ V (G).Let H v (respectively H v ) denote the subgraph of G induced by all vertices prior to v (respectively prior to and including v) with respect to the words-on-a-page ordering of V (G).We will study the multiplicative growth factor: To allow for the possibility of disconnected graphs, the meaning of τ here must be slightly generalized as follows.If H is a (possibly disconnected) graph, let T (H) denote the set of ways to choose one spanning tree from each of its connected components, and let τ (H) = |T (H)|, which equals the product of the numbers of spanning trees on the connected components.
Our convention here is that a component containing just a single vertex is counted as having one spanning tree.We additionally use the convention that m v = 1 if v is the first vertex.With these definitions, we can recover τ (G) as: It is useful to regard v → m v as real-valued function on V (G), which we call the multiplier function.In fact, the primary technical goal of this paper is to understand its behavior on general grid graphs.For this, it is helpful to first gain intuition from examples.The remainder of this paper will demonstrate that each key feature of the previous examples carries over to all grid graphs or at least all simple grid graphs.

The top-left boundary
In this section, we study the top-left boundary and prove that it behaves like the set of black-colored vertices in the examples of the previous section.We begin by generalizing Definition 1.3 to (not necessarily simple) grid graphs.
Proof.Denote the coordinates of v as v = (x, y).Denote the relevant neighbors of v as a = (x, y + 1), w = (x − 1, y + 1) and b = (x − 1, y).The following three cases are straightforward: Next assume that va ∈ E(G) and vb ∈ E(G), which is the only remaining case.We claim that a and b must lie in different connected components of H v .Indeed, if there were a path between a and b in H v , then adding va and vb to this path would yield a loop in H v that encloses or contains w.But since G is simple, it contains all edges inside of any closed loop in it, so aw, bw ∈ E(G), contradicting the hypothesis that v ∈ ∂G.In summary, a and b lie in different connected components of H v , but they are connected through v in H v .Therefore, "adding va and vb" is a bijection between T (H v ) and T (H v ), so m v = 1.
Figure 3 exhibits counterexamples to Lemma 4.2 when G is not simple.Each graph has the property that all of its vertices lie in its top-left boundary, but yet its red-colored vertices have multipliers larger than 1.In fact, the red vertex of the left graph has multiplier 16; we'll soon see that this is much larger than the multiplier of any vertex of a simple graph.
The decision to consider the top-left boundary (rather than the top-right, bottom-left, or bottom-right) is somewhat arbitrary, but the size of ∂G is unaffected by this decision because the following proposition provides a canonical interpretation of | ∂G|.Proof.The claim that ∂G ⊂ ∂G is straightforward.The proof of the other two assertions is by induction.The assertions are clearly true for a 1-by-1 square, which is the only simple grid graph with 4 or fewer vertices.Now suppose that the assertions are true of all simple grid graphs with ≤ N vertices.Let G be a simple grid graph with N + 1 vertices.Consider a line of slope 1 in R 2 ⊃ Z 2 positioned far left, and shift it right until it first touches a vertex v of G.This line is illustrated as a dashed black line in Figure 4. Let f be the face of G whose top-left corner is v.Let G be the grid graph obtained by removing v and also removing each other edge and vertex that belongs only to f (not to any other face of G).
The cases that must be considered are exemplified in Figure 4.In case 1, the right neighbor of f is a face G but the bottom neighbor is not.Here G is a simple grid graph, and the inductive hypothesis applied to G leads to the desired result for G.The case for which the bottom neighbor of f is a face G but the right neighbor is not is handled similarly.
In case 2, the faces of G include the right, bottom, and bottom-right neighbors of f .Again G is a simple grid graph, and the inductive hypothesis applied to G leads to the desired result for G.
In case 3, the faces of G include the right and bottom neighbors of f but not the bottom-right neighbor.Here G is not simple but is obtained from two disjoint simple grid graphs by identifying two vertices into one.Applying the inductive hypothesis to both of them leads to the desired result for G.
The following proposition establishes the equivalence of the three expression for m in Theorem 1.4.The goal of this section is to prove the lower bound in Theorem 1.4.In fact, we will prove the following generalization to (not necessarily simple) grid graphs: For the remainder of this section, we assume that G is a grid graph, we fix a vertex v ∈ V (G) and we assume that v / ∈ ∂G, with the goal proving that m v ≥ b.
Denote the coordinates of v as v = (x, y) and denote the top and left neighbors of v as a = (x, y + 1) and b = (x − 1, y).Since v / ∈ ∂G, we know that va, vb ∈ E(H v ).
Lemma 5.3.Let P v denote the probability that a uniformly randomly selected member of T (H v ) contains both va and vb.Then 0 < P v < 1 and Proof.Partition the members of T (H v ) into three sets, T (H v ) = T 1 ∪T 2 ∪T 3 , according to whether they: (T 1 ) Contain va but not vb (T 2 ) Contain vb but not va (T 3 ) Contain va and vb Since v is a subgraph of H v , it is straightforward to see that all three sets in this partition are nonempty.For example, T 3 is nonempty because a member of T 3 can be obtained from any member of T (H v ) by adding va and vb and removing any other edge of the resulting cycle that this creates.
Furthermore, |T (H v )| = |T 1 | because "adding the edge va" is a bijection between these sets.Similarly . Solving and substituting completes the proof.
Lemma 5.4.Let E v denote the probability that a simple random walk on H v starting at v "escapes to b," which means that it reaches b before returning to v. We have: Proof.Define P v as in Lemma 5.3.We can better understand P v via the Aldous-Broder algorithm for generating a uniformly random spanning tree of a connected graph [1],[3] (Wilson's algorithm from [20] would also work here).Their algorithm works as follows.Start at any vertex and do a simple random walk.Each time a vertex is first encountered, mark the edge from which it was encountered.When all vertices have been encountered, the set of marked edges is a uniformly random spanning tree.We apply the Aldous-Broder algorithm as follows.Let W(a) denote a simple random walk starting at a on the connected component of H v that contains a. Denote this connected component as H 0 v , and note that it also contains v and b because v / ∈ ∂G.It is straightforward to see that P v equals the probability that, in the walk W(a), the vertex b is first encountered along the edge vb.In fact, this is the only way in which the set of marked edges will end up containing both va and vb.
Next let W(v) denote a simple random walk starting at v on H 0 v .Here is a review of the definitions of P v and E v together with a new definition of Q v : Since E v is the probability of escaping to b on the first step plus the probability of escaping after more than one step, we have: (5.1) It remains to relate P v and Q v .For this, let P (k) denote the probability in W(a) that b is first encountered along vb immediately following the walk's k th visit to v. We have: (5.2) Combining Equations 5.1 and 5.2 with Lemma 5.3 yields the following expressions for the multiplier: The problem is now reduced to understanding the escape probability E v .A standard trick in the literature is to bound escape probabilities using Rayleigh's Monotonicity Laws, whose intuition comes from the long studied connection between random walks and electrical circuits.We recommend [7] for an elementary introduction to this connection and to Rayleigh's Laws.We'll require the following special case: Proposition 5.5 (Rayleigh's Monotonicity Law).Let H be a connected graph, let H be a subgraph of H, and let v 0 , b 0 ∈ V (H) be distinct vertices.Assume that H contains all edges in H incident to v 0 .Let Ẽ (respectively E) denote the probability that a simple random walk on H (respectively on H) starting at v 0 "escapes to b 0 ," which means it reaches b 0 before returning to v 0 .Then E ≤ Ẽ.
Thus, there is a greater probability of escape on the larger graph than on the smaller subgraph.In our application of Rayleigh's Law, the smaller graph will be H v , while the larger will be the infinite subgraph, U, of L(Z 2 ) whose vertex set is: We can think of V (U) as the set of points of Z 2 prior to (and including) the origin 0 = (0, 0) in the words-on-a-page sense.After applying a translation for notational convenience, we can assume that v is positioned at the origin; that is, we can assume that v = 0 = (0, 0), a = (0, 1), and b = (−1, 0).With this understanding, H v is a subgraph of U.
Lemma 5.6.Let E(∞) denote the probability that a simple random walk on . We postpone the proof of Lemma 5.6 until the end of the next section.For now, we will use the lemma to finish off Proposition 5.2 and hence also Theorem 5.1.

Proof of Proposition 5.2. Rayleigh's Law gives
. Note that E v > 1/2 because there is a probability 1/2 of escaping to b in the first step.On the domain Proof of Theorem 5.1.
6.An upper bound on τ (G) The goal of this section is to prove the upper bound of Theorem 1.4.Figure 3 shows that this upper bound is false in the non-simple case (with m re-expressed in terms of ∂G as in Theorem 5.1).This upper bound will follow immediately from Lemma 4.2 together with the following: We will prove this proposition (and more general upper bounds on m v ) via Rayleigh's Law by comparing H v to a smaller subgraph constructed as follows.
For each integer k ≥ 1, define Ũ(k) to be the subgraph of U (from Equation 5.3) induced by all vertices within distance k from 0, and then obtain U(k) from Ũ(k) by removing all vertices of degree 1 and their adjacent edges.That is, where "dist" is the edge distance of the graph.The first few are shown in Figure 5. Assume for the remainder of the section that G is a grid graph and v ∈ V (G).As in the previous section, assume (after applying a translation) that v = 0 = (0, 0) so that H v ⊂ U. Define: , where F is a function explicitly defined in the proof below, whose first few values are given in Table 1.
as in the proof of Lemma 5.4, in which are found the relations: Analogously define Q(k) and E(k) with respect to random walks in U(k); that is: • Q(k) is the probability that a simple random walk in U(k) starting at a reaches v before reaching b. • E(k) is the probability that a simple random walk in U(k) starting at v escapes to b. Define Rayleigh's Monotonicity Law implies that E v ≥ E(k) and therefore that m v ≤ F (k).
To explicitly compute F (k), it will suffice to compute Q(k) via the method of [7, Section 1.2.6], which we briefly review here.Regard the random walk on U(k) starting at a as an absorbing Markov chain with absorbing states {v, b}.Index the vertices of U(k) with these absorbing states listed first, so the transition matrix of the Markov chain has the block form I 0 R Q .
The absorbtion probabilities are given by B = ( equals the entry of B whose column corresponds to the absorbing state v and whose row corresponds to the non-absorbing state a. The function F : {2, 3, ...} → R defined in the previous proof has the following properties.Lemma 6.3.F is non-increasing, and lim k→∞ F (k) = b.
Proof.The assertion that F is non-increasing follows immediately from Rayleigh's Monotonicity Law because U(k) ⊂ U(k + 1).
The limit claim will come from Equation 1.1.If S(1) ⊂ S(2) ⊂ • • • is a sequence of concentric squares in L(Z 2 ) centered at 0 with diameters going to infinity, then Equation 1.1 implies We will argue that any value for lim k→∞ F (k) different from b would contradict Equation 6.1.
For this, first suppose that lim k→∞ F (k) were strictly less than b, so there would exist k 0 ∈ N and > 0 such that F (k 0 ) < b − .But then for every n, every vertex v 0 ∈ V (S(n)) at distance more than k 0 from the relevant edges of S(n) (left, top, right) would have multiplier value m v 0 < b − .The fraction of vertices v 0 ∈ V (S(n)) to which this applies approaches 100% as n grows.The vertices to which this doesn't apply can't compensate because their multiplier values are all bounded above by 4. This contradicts Equation 6.1.
Next suppose that lim k→∞ F (k) were strictly greater than b, so there exists > 0 such that F (k) > b + for all k ≥ 2. For every fixed n, it is possible to choose k sufficiently large so that for every v 0 ∈ S(n), U(k) contains H v 0 and hence (assuming v 0 / ∈ ∂S(n)) we have m v 0 ≥ F (k) > b + (by the arguments of Section 5, with U(k) replacing U).Thus, for every fixed n, every vertex v 0 ∈ S(n) has multiplier m v 0 equal to 1 if v 0 ∈ ∂S(n), or greater than b + if v 0 / ∈ ∂S(n).Since the fraction of vertices in ∂S(n) goes to zero and n goes to infinity, this contradicts Equation 6.1.
The value F (2) = 4 in Table 1 is exact (not rounded).Proposition 6.1 is an immediate consequence of this value.
We now use Lemma 6.3 to fill in a missing proof from Section 5.
Finally, we prove the upper bound of Theorem 1.4 as a quick consequence of Lemma 4.2 and Proposition 6.1.
Proof of upper bound of Theorem 1.4.
An improvement on the upper bound of Theorem 1.4 can be obtained by considering the level sets of d.That is, for each k ≥ 1 define: Notice that G 1 = ∂G.Assuming that G is simple, Lemma 6.2 gives: Equation 6.2 is stronger than the upper bound of Theorem 1.4, but is it is not clear whether Equation 6.2 is necessarily stronger for all simple grid graphs than Theorem 1.1.

Application to redistricting
In this section, we apply our results and techniques to shed light on the redistricting question mentioned in the introduction: why does a map's cutedge count have such a strong negative correlation with the spanning tree score, which means the log of the product of the numbers of spanning trees of its districts?Independent work by Procaccia and Tucker-Folz relate these two measurements for general planar graphs [16]; in the case of grid graphs, our results are complimentary to theirs.
A common starting point of modern redistricting models is a graph G whose vertices represent the precincts of a state.Two vertices are connected by an edge if the corresponding precincts share a geographic boundary with non-zero length.A map is a partition of G into subgraphs called districts, which are required to satisfy certain legal requirements.
To shed light on the general situation, we will study the special case of simple grid graphs.More precisely, let G denote a simple grid graph, let {V 1 , ..., V K } denote a partition of V (G), and let {G 1 , ..., G K } denote subgraphs of G induced by these vertex sets, which we call districts.We assume that each G i is a simple grid graph.
Let C denote the set of cut edges, which means the edges between pairs of vertices of G that belong to different districts.The value |C| is frequently used as a discrete measurement of the map's overall compactness; see [8] for advantages of this measurement compared to other compactness measurements.Figure 6 exhibits a very strong negative correlation between |C| and the spanning tree score ln ( τ (G i )) for a ensemble of 1000 partitions of the square with 30 2 vertices into 9 districts.This ensemble was created with the ReCom algorithm [6] with 5% population deviation using the pictured tic-tac-toe arrangement as the initial partition.Our goal is to account for this negative correlation.
The main result of this section is: Area(G i ).
Notice that C 1 is a constant that does not depend on the partition.We will now apply Proposition 7.1 by observing that Theorem 1.4 implies that for each i, there exists b and use that b i ∈ (b, 4], then we obtain the following immediately from Proposition 7.1: Figure 7 contains the same data as Figure 6 (zoomed out in order to show the axes) with the upper and lower bounds of Equation 7.1 displayed as red lines.The slopes of these red lines are − 1 ln(b) and − 1 ln(4) .Their common vertical intercept is C 1 = 29 2 + 9 − 1 = 849.Notice that all of the data points lie between the two red lines, even though the maps in this ensemble do not satisfy all of our hypotheses -their districts are not all simple.
Proof of Proposition 7.1.Let F denote the set of faces of G that are not faces of any of the districts.It will suffice to prove that It is possible to select a subset S ⊂ C of size K − 1 such that S connects the districts into a spanning tree.More precisely, S induces a spanning tree, T S , on the district quotient graph of G, which is defined to contain one  It will suffice to find a bijection from F to C −S.For this, we will consider F as a graph in which a pair f 1 , f 2 ∈ F are connected by an edge if they are adjacent across a member of C − S. Considered in this way, F is acyclic because T S is connected.Thus, F is a union of disjoint trees.We'll call f ∈ F an end face if it is adjacent across an edge of C − S with a face of L(Z 2 ) that's not a face of G. Since T S is acyclic, each connected component of F contains at least one end face.
Imagine following a path in F and marking the faces and cut edges crossed along the way.Since faces and cut edges alternate, we can insure we mark an equal number of each by starting with a face and ending with a cut edge.Let's call such a path a good path.To build a bijection of F with C − S, it will suffice to find a finite collection of good paths that together mark all of the faces in F and all of the cut edges in C − S.This can be achieved by repeating the following two steps until all faces have been marked: (1) Select any face of f ∈ F that hasn't yet been marked.
(2) There exists a path in F from f to an end face.Traverse this path (marking the faces and edges along the way) until either reaching this end face or reaching a previously marked face.
In Figure 8, one possible collection of good paths is illustrated in green.When this algorithm terminates, all edges of C − S must be marked because any unmarked edge could be added to S without creating a cycle in T S .We end by warning that Area(G i ) does not equal the area of a geographic district because in our model G i denotes the dual graph of a district.Suppose we back our model up a step by first letting G * i be a grid graph whose faces comprise the region enclosed in the i th geographic district, and then defined G i as its dual, so that the vertices of G i are the midpoints of the faces of G * i .In this case, the boundary of each geographic district G * i would run down the center of F .

Figure 1 .
Figure 1.A simple grid graph.The white vertices lie in its top-left boundary.

Figure 1
Figure 1 illustrates a simple grid graph G. Its bounding loop α, colored red, can be considered as a piecewise-linear path in R 2 whose length equals |∂G|.The white vertices comprise the top-left boundary of G, defined as: Definition 1.3.The top-left boundary of a simple grid graph G, denoted ∂G, is the set of all v ∈ ∂G such that the face of L(Z 2 ) whose bottom-right corner is v is not a face of G.

Example 3 . 1 .
Figure 2 illustrates heatmaps for the multiplier function on two grid graphs.The left grid graph, which we call S, is the 12-by-12 square.The right grid graph, which we call D, is the diamond inside the 17-by-17 square.These examples were chosen to have similar numbers of vertices: |V (S)| = 144, while |V (D)| = 145.Each small square represents a vertex.The graphs' edges don't need to be displayed because adjacency is visually obvious, so the small squares are drawn large enough to bump into their neighbors forming a grid.The color of each small square represents the value of the multiplier function on the corresponding vertex.For each vertex v of S or D, the underlying data shows that either m v = 1 or m v ∈ (b, 4].The set of vertices with multiplier 1 (colored black) is exactly the top-left boundary.The square's top-left boundary has 23 vertices, while the diamond's has 33.The square has more spanning trees: ln(τ (S)) ≈ 146.15, ln(τ (D)) ≈ 136.19.The diamond is not simple, but it becomes simple if its four degree-one vertices (the top-most, bottom-most, right-most and left-most vertices) are removed; this removal doesn't affect the spanning tree count.After this removal, the square and the diamond are both simple grid graphs with the property that the size of the top-left boundary is one more than half the size of the boundary.

Figure 2 .
Figure 2. Heatmaps for the multiplier function on a square and a diamond

Definition 4 . 1 .
Let G be a grid graph.For each v ∈ V (G), let v denote the subgraph of L(Z 2 ) comprised of the vertices and edges of the 1-by-1 square whose bottom-right corner is v.The top-left boundary of G is:

Figure 3 .
Figure 3. Counterexamples to Lemma 4.2 when G is not simple.

Theorem 5 . 1 .
If G is a grid graph, then τ (G) ≥ b m , where m = |V (G)| − | ∂G|.Theorem 5.1 is an immediate consequence of the following: Proposition 5.2.Let G be a grid graph and v ∈ V (G).If v / ∈ ∂G, then m v ≥ b.

Figure 6 . 1 denote as C 1 −
Figure 6.Spanning tree score vs. cut edge count for an ensemble of 1000 partitions of the square with 30 2 vertices into 9 districts

Figure 7 .
Figure 7.The red lines represent the inequalities of Equation 7.1

Figure 8
provides an illustration in which the districts are dark grey, the faces of F are light grey, the members of S are dashed red lines, and the members of C − S are solid blue lines.

Figure 8 .
Figure 8.The green paths provide a bijection between F (the light grey faces) and C − S (the blue cut edges).

Table 1 .
Some values of F rounded to 4 decimals