Apollonian Ball Packings and Stacked Polytopes

We investigate in this paper the relation between Apollonian $d$-ball packings and stacked $(d+1)$-polytopes for dimension $d\ge 3$. For $d=3$, the relation is fully described: we prove that the $1$-skeleton of a stacked $4$-polytope is the tangency graph of an Apollonian $3$-ball packing if and only if no six $4$-cliques share a $3$-clique. For higher dimension, we have some partial results.


Introduction
A ball packing is a collection of balls with disjoint interiors. A graph is said to be ball packable if it can be realized by the tangency relations of a ball packing. The combinatorics of disk packings (2-dimensional ball packings) is well understood thanks to the Koebe-Andreev-Thurston's disk packing theorem, which asserts that every planar graph is disk packable. However, few is known about the combinatorics of ball packings in higher dimensions.
In this paper we study the relation between Apollonian ball packings and stacked polytopes. An Apollonian ball packing is constructed from a Descartes configuration by repeatedly filling new balls into "holes". A stacked polytope is constructed from a simplex by repeatedly gluing new simplices onto facets. See Section 2.3 and 2.4 respectively for formal descriptions. There is a 1-to-1 correspondence between 2-dimensional Apollonian ball packings and 3-dimensional stacked polytopes. Namely, a graph can be realised by the tangency relations of an Apollonian disk packing if and only if it is the 1-skeleton of a stacked 3-polytope. However, this relation does not hold in higher dimensions.
On one hand, the 1-skeleton of a stacked polytope may not be realizable by the tangency relations of any Apollonian ball packing. Our main result, proved in Section 4, give a condition on stacked 4-polytopes to restore the relation in this direction: For higher dimensions, we propose Conjecture 4.11 following the pattern of dimension 2 and 3. On the other hand, the tangency graph of a ball packing may not be the 1-skeleton of any stacked polytope. We prove in Corollary 4.8 that this is the case for a 3-dimensional ball packing containing Soddy's hexlet, a special packing consisting of nine balls. However, ball packings of dimension higher than 3 do not have this problem, as we will prove in Theorem 4.9.
The paper is organized as follows. In Section 2, we introduce the notions related to Apollonian ball packings and stacked polytopes. In Section 3, we construct ball packings for some graph joins. These constructions provide forbidden induced subgraphs for the tangency graphs of ball packings, which are helpful for the intuition, and some are useful in the proofs. The main result and related results are proved in Section 4. Finally, we discuss in Section 5 about edge-tangent polytopes, an object closely related to ball packings.

Definitions and preliminaries
2.1. Ball packings. We work in the d-dimensional extended Euclidean spaceR d = R d ∪ {∞}. A d-ball of curvature κ means one of the following sets: where · is the Euclidean norm, and ·, · is the Euclidean inner product. In the first two cases, the point c ∈ R d is called the center of the ball. In the last case, the unit vectorn is called the normal vector of a half-space, and b ∈ R. The boundary of a d-ball is a (d − 1)-sphere. Two balls are tangent at a point t ∈R d if t is the only element of their intersection. We call t the tangency point, which can be the infinity point ∞ if it involves two balls of curvature 0. For a ball S ⊂R d , the curvature-center coordinates is introduced by Lagarias, Mallows and Wilks in [22] m(S) = (κ, κc) if κ = 0; (0,n) if κ = 0.
Here, the term "coordinate" is an abuse of language, since the curvature-center coordinates do not uniquely determine a ball when κ = 0. A real global coordinate system would be the augmented curvature-center coordinates, see [22]. However, the curvature-center coordinates are good enough for our use. For a ball packing S, its tangency graph G(S) takes the balls as vertices and the tangency relations as the edges. The tangency graph is invariant under Möbius transformations and reflections.
Definition 2.2. A graph G is said to be d-ball packable if there is a d-ball packing S whose tangency graph is isomorphic to G. In this case, we say that S is a d-ball packing of G.
Disk packing, or 2-ball packing, is well understood. Theorem 2.3 (Koebe-Andreev-Thurston theorem [19,32]). Every connected simple planar graph is disk packable. If the graph is a finite triangulated planar graph, then it has a unique disk packing up to Möbius transformations.
Few is known about the combinatorics of ball packings in higher dimensions. Some attempts of generalizing the disk packing theorem to higher dimensions include [3,9,21,24]. Clearly, an induced subgraph of a d-ball packable graph is also d-ball packable. In other words, the class of ball packable graphs is closed under the induced subgraph operation.
Throughout this paper, ball packings are always in dimension d. The dimensions of other objects will vary correspondingly.

Descartes configurations.
A Descartes configuration in dimension d is a d-ball packing consisting of d + 2 pairwise tangent balls. The tangency graph of a Descartes configuration is the complete graph on d + 2 vertices. This is the basic element for the construction of many ball packings in this paper. The following relation was first established for dimension 2 by René Descartes in a letter [11] to Princess Elizabeth of Bohemia, then generalized to dimension 3 by Soddy in the form of a poem [31], and finally generalized to arbitrary dimension by Gossett [14].
Equivalently, we have K Q d K = 0, where K = (κ 1 , · · · , κ d+2 ) is the vector of curvatures, and Q d := I − 1 d ee is a square matrix of size d + 2, where e is the all-one column vector, and I is the identity matrix. A more generalized relation on the curvature-center coordinates was proved in [22]: Theorem 2.5 (Generalized Descartes-Soddy-Gossett Theorem). In dimension d, if d + 2 balls S 1 , · · · , S d+2 form a Descartes configuration, then where M is the curvature-center matrix of the configuration, whose i-th row is m(S i ).
Given a Descartes configuration S 1 , · · · , S d+2 , we can construct another Descartes configuration by replacing S 1 with an S d+3 , such that the curvatures κ 1 and κ d+3 are the two roots of (1) treating κ 1 as unknown. So we have the relation We see from (2) that the same relation holds for all the entries in the curvature-center coordinates, These equations are essential for the calculations in the paper.
By recursively replacing S i with a new ball S i+d+2 in this way, we obtain an infinite sequence of balls S 1 , S 2 , · · · , in which any d + 2 consecutive balls form a Descartes configuration. This is Coxeter's loxodromic sequences of tangent balls [10].

Apollonian cluster of balls.
Definition 2.6. A collection of d-balls is said to be Apollonian if it can be built from a Descartes configuration by repeatedly introducing, for d + 1 pairwise tangent balls, a new ball that is tangent to all of them.
Please note that a newly added ball is allowed to touch more than d + 1 balls, and may intersect some other balls. In the latter case, the result is not a packing. For example, Coxeter's loxodromic sequence is Apollonian. In this paper, we are interested in (finite) Apollonian ball packings.
We reformulate the replacing operation described before (3) by inversions. Given a Descartes configuration S = {S 1 , · · · , S d+2 }, let R i be the inversion in the sphere that orthogonally intersects the boundary of S j for all 1 ≤ j = i ≤ d + 2, then R i S forms a new Descartes configuration, which keeps every ball of S, except that S i is replaced by R i S i . With this point of view, a Coxeter's sequence can be obtained from an initial Descartes configuration S 0 by recursively constructing a sequence of Descartes configurations by S n+1 = R j+1 S n where j ≡ n (mod d + 2), then taking the union.
The group W generated by {R 1 , . . . , R d+2 } is called the Apollonian group. The union of the orbits ∪ S∈S0 W S is called the Apollonian cluster (of balls) [16]. The Apollonian cluster is an infinite ball packing in dimensions two [15] and three [4]. That is, the interiors of any two balls in the cluster are either identical or disjoint. This is unfortunately not true for higher dimensions. Our main object of study, Apollonian ball packings, can be seen as special subsets of the Apollonian cluster. Define where e i is a (d + 2)-vector whose entries are 0 except for the i-th entry being 1. So R i coincide with the identity matrix at all rows except for the i-th row, whose diagonal entry is −1 and the off-diagonal entries are 2/(d − 1). One then verifies that R i induces a representation of the Apollonian group. In fact, if M is the curvature-center matrix of a Descartes configuration S, then R i M is the curvature-center matrix of R i S. We call the 1-skeleton of a polytope P the graph of P, denoted by G(P). For example, the graph of a d-simplex is the complete graph on d + 1 vertices. The graph of a stacked d-polytope is a d-tree, that is, a chordal graph whose maximal cliques are of a same size d + 1. Inversely, Theorem 2.8 (Kleinschmidt [17]). A d-tree is the graph of a stacked d-polytope if and only if there is no three (d + 1)-cliques sharing d vertices.
A d-tree satisfying this condition will be called stacked d-polytopal graph. A simplicial d-polytope P is stacked if and only if it admits a triangulation T with only interior faces of dimension (d − 1). For d ≥ 3, this triangulation is unique, whose simplices correspond to the maximal cliques of G(P). This implies that stacked polytopes are uniquely determined by their graph (i.e. stacked polytopes with isomorphic graphs are combinatorially equivalent). The dual tree [13] of P takes the simplices of T as vertices, and connect two vertices if the corresponding simplices share a (d − 1)-face.
The following correspondence between Apollonian 2-ball packings and stacked 3-polytopes can be easily seen from Theorem 2.3 by comparing the construction processes: Theorem 2.9. If a disk packing is Apollonian, then its tangency graph is stacked 3-polytopal. If a graph is stacked 3-polytopal, then it is disk packable, and its disk packing is Apollonian and unique up to Möbius transformations.
The relation between 3-tree, stacked 3-polytope and Apollonian 2-ball packing can be illustrated as follows: 3-tree where the double-headed arrow A B means that every instance of B corresponds to an instance of A satisfying the given condition.

Ball-packability of graph joins
Notations. We use G n to denote any graph on n vertices, and use P n : for the path on n vertices (therefore of length n − 1); C n : for the cycle on n vertices; K n : for the complete graph on n vertices; K n : for the empty graph on n vertices; ♦ d : for the 1-skeleton of the d-dimensional orthoplex 1 ; The join of two graphs G and H, denoted by G H, is the graph obtained by connecting every vertex of G to every vertex of H. Most of the graphs in this section will be expressed in term of graph joins. Notably, we have ♦ d =K 2 · · · K 2 d . 1 also called "cross polytope" 3.1. Graphs in the form of K d P m . The following theorem reformulates a result of Wilker [33]. A proof was sketched in [4]. Here we present a very elementary proof, suitable for our further generalization.
Theorem 3.1. Let d ≥ 2 and m ≥ 0. A graph in the form of (i) K 2 P m is 2-ball packable for any m; For dimension d > 2, we construct a ball packing for the (d + 1)-simplex K d+2 = K d P 2 as follows. The two vertices of P 2 are represented by two disjoint half-spaces A and B at distance 2 apart, and the d vertices of K d are represented by d pairwise tangent unit balls touching both A and B. Figure 1 shows the situation for d = 3, where red balls represent vertices of K 3 . This is the unique packing of K d+2 up to Möbius transformations.
Let S be the (d − 2)-sphere decided by the centers of the unit balls. The idea of the proof is the following. Starting from K d P 2 , we construct the ball packing of K d P m by appending new balls to the path, touching all the d unit balls representing K d . These new balls must center on a straight line passing through the center of S perpendicular to the hyperplane containing S. The construction fails when the sum of the diameters exceeds 2. Figure 1. An attempt of constructing the ball packing of K 3 P 6 results in K 3 C 6 . Refering to the proof of Theorem 3.1, the red balls correspond to vertices in K 3 , the blue balls are labeled by C, E, F, D from bottom to top. The upper half-space B is not shown. The image is rendered by POV-Ray.
As a first step, we construct K d P 3 by adding a new ball C tangent to A. By (3), the diameter of C is 2/κ C = (d − 1)/d < 1. Since C is disjoint from B, this step succeeded. Then we add the ball D tangent to B. It has the same diameter as C by symmetry, and they sum up to 2(d − 1)/d < 2. So the construction of K d P 4 succeeded, which proves (ii).
We now add a ball E tangent to C. Still by (3), the diameter of E is which is smaller then 2 if and only if d ≤ 4. Therefore the construction fails unless 2 ≤ d ≤ 4, which proves (iv).
For 2 ≤ d ≤ 4, we continue to add a ball F tangent to D. It has the same diameter as E. If we sum up the diameters of C, D, E and F, we get which is smaller then 2 if and only if d < 3, which proves (iii).
Remark. Figure 1 shows the attempt of constructing the ball packing of K 3 P 6 but yields the ball packing of K 3 C 6 . This packing is called Soddy's hexlet [30]. It's an interesting configuration since the diameters of C, D, E and F sum up to exactly 2. This configuration is also studied by Maehara and Oshiro in [23].
Remark. Let's point out the main differences between the situation in dimension 2 and higher dimensions. For d = 2, a Descartes configuration divides the space into 4 disjoint regions, and the radius of a circle tangent to the two unit circles of K 2 can be arbitrarily small. However, if d > 2, the complement of a Descartes configuration is always connected, and the radius of a ball tangent to all the d balls of K d is bounded away from 0. In fact, using the Descartes-Soddy-Gossett theorem, one verifies that the radius of such a ball is at least

3.2.
Graphs in the form of K n G m . The following is a corollary of Theorem 3.1.
Proof. For construction of K d G m , we just repeat the construction in the proof of Theorem 3.1. Since the centers of the balls of G m are situated on a straight line, G m can only be a path, a cycle C m or a disjoint union of paths (possibly empty). The first possibility is ruled out by Theorem 3.1. The cycle is only possible when d = 3 and m = 6, in which case the ball packing of K 3 C 6 is Soddy's hexlet. If G m is a disjoint union of paths, we are forced to leave gaps between balls, but Theorem 3.1 says that there is no space for any gap. So the construction is not possible.
We now study some other graphs with the form K n G m using kissing configuration and spherical codes. A d-kissing configuration is a packing of unit d-balls all touching another unit ball. The d-kissing number k(d, 1) (the reason for this notation will be clear later) is the maximum number of balls in a d-kissing configuration. The kissing number is known to be 2 for dimension 1, 6 for dimension 2, 12 for dimension 3 [8], 24 for dimension 4 [25], 240 for dimension 8 and 196560 for dimension 24 [26]. We have immediately the following theorem. To see this, just represent K 3 by one unit ball and two disjoint half-spaces at distance 2 apart, then the other balls must form a (d − 1)-kissing configuration. For example, K 3 G 13 is not 4-ball packable, K 3 G 25 is not 5-ball packable, and in general, We can generalize this idea as follows. A (d, α)-kissing configuration is a packing of unit balls touching α pairwise tangent unit balls. The (d, α)-kissing number k(d, α) is the maximum number of balls in a (d, α)-kissing configuration. So the d-kissing configuration discussed above is actually the (d, 1)-kissing configuration, from where the notation k(d, 1) is derived. Clearly, if G is the tangency graph of a (d, α)-kissing configuration, G K 1 must be the graph of a (d, α − 1)-kissing configuration, and G K α−1 must be the graph of a d-kissing configuration. With a similar argument as before, we have To see this, just represent K 2+α by two half-spaces at distance 2 apart and α pairwise tangent unit balls, then the other balls must form a (d − 1, α)-kissing configuration. As a consequence, a graph in the form of K 2+α G k(d−1,α)+1 is not d-ball packable. The following corollary follows from the fact that k(d, d) = 2 for all d > 0 We then see from Theorem 2.8 that a (d + 1)-tree is d-ball packable only if it is stacked (d + 1)polytopal.
A (d, cos θ)-spherical code [8] is a set of points on the unit (d − 1)-sphere such that the spherical distance between any two points in the set is at least θ. We denote by A(d, cos θ) the maximal number of points in such a spherical code. Spherical codes generalize kissing configurations. The minimal spherical distance corresponds to the tangency relation, and A(d, cos θ) = k(d, 1) if θ = π/3. Corresponding to the tangency graph, the minimal-distance graph of a spherical code takes the points as vertices and connects two vertices if the corresponding points attain the minimal spherical distance. As noticed by Bannai and Sloane [2, Theorem 1], the centers of unit balls in a (d, α)-kissing configuration correspond to a (d−α+1, 1 α+1 )-spherical code after rescaling. Therefore: We give in Table 1 an incomplete list of (d, 1 α+1 )-spherical codes for integer values of α. They are therefore (d+α−1, α)-kissing configurations for the α and d given in the table. The first column is the name of the polytope whose vertices form the spherical code. Some of them are from Klitzing's list of segmentochora [18], which can be viewed as a special type of spherical codes. Some others are inspired from Sloane's collection of optimal spherical codes [29]. For those polytopes with no conventional name, we keep Klitzing's notation, or give a name following Klitzing's method. The second column is the corresponding minimal-distance graph, if a conventional notation is available.
Here are some notations used in the table: • For a graph G, its line graph L(G) takes the edges of G as vertices, and two vertices are adjacent iff the corresponding edges share a vertex in G. • The Johnson graph J n,k takes the k-element subsets of an n-element set as vertices, and two vertices are adjacent whenever their intersection contains k − 1 elements. Especially, J n,2 = L(K n ). • For two graph G and H, G H denotes the Cartesian product.
As another example, since the following fact provides another proof Corollary 3.2: Before ending this part, we present the following trivial theorem.
For the proof, just use disjoint half-spaces to represent K 2 , then G must be representable by a packing of unit balls.
The vertices of a regular orthoplex of edge length √ 2 forms an optimal spherical code of minimal distance π/2. As in the proof of Theorem 3.1, we first construct the ball packing of ♦ d−1 P 2 . The edge P 2 is represented by two disjoint half-spaces. The graph ♦ d−1 is represented by 2(d − 1) unit balls. Their centers are on a (d − 2)-dimensional sphere S, otherwise further construction would not be possible. So the centers of these unit balls must be the vertices of a regular (d − 1)-dimensional orthoplex of edge length 2, and the radius of S is 1/ √ 2. We now construct ♦ d−1 P 3 by adding the unique ball that is tangent to all the unit balls and also to one half-space. After an elementary calculation, the radius of this ball is 1/2. By symmetry, a ball touching the other half-space has the same radius. These two balls must be  For example, C 4 C 4 is 3-ball packable, as shown in Figure 2. This is also observed by Maehara and Oshiro in [23]. By the same argument as in the proof of Corollary 3.2, we have Corollary 3.9. A graph in the form of ♦ d−1 G 4 is not d-ball packable, with the exception of ♦ d+1 = ♦ d−1 C 4 .

3.4.
Graphs in the form of G n G m . The following is a corollary of Corollary 3.2.
Corollary 3.10. A graph in the form of G 6 G 3 is not 3-ball packable, with the exception of C 6 C 3 .
Proof. As in the proof of Theorem 3.1, up to Möbius transformations, we may represent G 3 by three unit balls. We assume that their centers are not collinear, otherwise further construction is not possible. Let S be the 1-sphere decided by their centers. Every ball representing a vertex of G 6 must center on the straight line passing through the center of S perpendicular to the plane containing S. From the proof of Corollary 3.2, the number of disjoint balls touching all three unit balls is at most six, while six balls only happens in the Soddy's hexlet.
The following corollaries follow from the same argument with slight modification. Proof. Up to Möbius transformation, we may represent three vertices of the first G 4 by unit balls, whose centers decide a 1-sphere S. Balls representing vertices of the second G 4 must center on the straight line passing through the center of S perpendicular to the plane containing S. Then the remaining vertex of the first G 4 must be represented by a unit ball centered on S, too. We conclude from Corollary 3.9 that the only possibility is C 4 C 4 .
Corollary 3.12. A graph in the form of G 4 G 6 is not 4-ball packable, with the exception of C 4 ♦ 3 .
Proof. Up to Möbius transformation, we represent four vertices of G 6 by unit balls, whose centers decide a 2-sphere S. Balls representing vertices of G 4 must center on the straight line passing through the center of S perpendicular to the hyperplane containing S. Then the two remaining vertices of G 6 must be represented by unit balls centered on S, too. The diameter of S is minimal only when G 6 = ♦ 3 . In this case, G 4 must be in the form of C 4 by Corollary 3.9. If G 6 is in any other form, a ball touching the unit balls must have a larger radius, which is not possible.
Special caution is needed for a degenerate case. It is possible to have the six unit balls centered on a 1-sphere. In this case, the radius of a ball touching all of them is at least 1, which rules out the possibility of further construction. Therefore, if a graph is 3-ball packable, any induced subgraph in the form of G 6 G 3 must be in the form of C 6 K 3 , and any induced subgraph in the form of G 4 G 4 must be in the form of C 4 C 4 . If a graph is 4-ball packable, every induced subgraph in the form of G 4 G 6 must be in the form of C 4 ♦ 3 .
Remark. The argument in these proofs should be used with caution. As mentioned in the proof of Corollary 3.12, one must check carefully the degenerate cases. In higher dimensions, we are in general not so lucky, so these results does not generalize.
The following is a corollary of Theorem 3.4, for which we omit the simple proof.
Corollary 3.13. A graph in the form of K 2 G α G k(d−1,α)+1 is not d-ball packable.

Ball packable stacked-polytopal graphs
This section is devoted to the proof of the main result. Some proof techniques are adapted from [16].

4.1.
More on stacked polytopes. Since a graph in the form of K d P m is stacked (d + 1)polytopal, Theorem 3.1 provides some examples of stacked (d + 1)-polytope whose graph is not d-ball packable, and C 3 C 6 provides an example of Apollonian 3-ball packing whose tangency graph is not stacked 4-polytopal. Therefore, in higher dimensions, the relation between Apollonian ball packings and stacked polytopes is more complicated. The following remains true: Proof. The Apollonianity can be easily seen by comparing the construction processes. The uniqueness can be proved by an induction on the construction process. While a stacked polytope is built from a simplex, we construct its ball packing from a Descarte configuration, which is unique up to Möbius transformations and reflections. For every stacking operation, a new ball representing the new vertex was added into the packing, forming a new Descartes configuration. We have an unique choice for every newly added ball, so the uniqueness is preserved at every step of construction.
For a d-polytope P, the link of a k-face F is the subgraph of G(P) induced by the common neighbors of the vertices of F . The following lemma will be useful for the proofs later:

4.2.
Weighted mass of a word. The following theorem was proved in [16] Theorem 4.3. The 3-dimensional Apollonian group is a hyperbolic Coxeter group generated by the relations R i R i = I and (R i R j ) 3 = I for 1 ≤ i = j ≤ 5.
Here we sketch the proof in [16], which is based on the study of reduced words. Definition 4.4. A word U = U 1 U 2 · · · U n over the generator of the 3-dimensional Apollonian group (i.e. Notice that m = 2 excludes the subwords of the form (R i R j ) 2 . One verifies that a non-reduced word can be simplified to a reduced word using the generating relations. Then it suffices to prove that no nonempty reduced word, treated as product of matrices, is identity.
To prove this, the authors of [16] studied the sum of entries in the i-th row of U, i.e. σ i (U) := e i Ue, and the sum of all the entries in U, i.e. Σ(U) := e Ue. The latter is called the mass of U. The quantities Σ(U), Σ(R j U), σ i (U) and σ i (R j U) satisfy a series of linear equations, which was used to inductively prove that Σ(U) > Σ(U ) for a reduced word U = R i U . Therefore U is not an identity since Σ(U) ≥ Σ(R i ) = 7 > Σ(I) = 5.
We propose the following adaption. Given a weight vector w, we define σ w i (U) = e i Uw the weighted sum of entries in the i-th row of U, and Σ w (U) = e Uw the weighted mass of U. The following lemma can be proved with an argument similar as in [16]: Sketch of proof. It suffices to replace "sum" by "weighted sum", "mass" by "weighted mass", and ">" by "≥" in the proof of [16, Theorem 5.1]. It turns out that the following relations hold for 1 ≤ i, j ≤ 5.
, the following relations hold: These relations suffice for the induction. The base case is already assumed in the condition of the theorem, which reads δ w i (I) ≥ 0 for 1 ≤ i ≤ 5. So the rest of the proof is exactly the same as in the proof of [16,Theorem 5.1]. For details of the induction, please refer to the original proof. The conclusion is δ w i (U ) ≥ 0, i.e. Σ w (U) ≥ Σ w (U ). 4.3. A generalization of Coxeter's sequence. Let U = U n · · · U 2 U 1 be a word over the generators of the 3-dimensional Apollonian group (we have a good reason for inversing the order of the index). Let M 0 be the curvature-center matrix of an initial Descartes configuration, consisting of five balls S 1 , · · · , S 5 . The curvature-center matrices recursively defined by M i = U i M i−1 , 1 ≤ i ≤ n, define a sequence of Descartes configurations. We take S 5+i to be the single ball that is in the configuration at step i but not in the configuration at step i−1. This generates a sequence of 5+n balls, which generalizes Coxeter's loxodromic sequence in dimension 3. In fact, Coxeter's loxodromic sequence is generated by an infinite word of period 5, e.g. U = · · · R 2 R 1 R 5 R 4 R 3 R 2 R 1 .
Lemma 4.6. If U is reduced and U 1 = R 1 , then in the sequence constructed above, S 1 is disjoint from every ball except the first five.
Proof. We take the initial configuration to be the configuration used in the proof of Theorem 3.1. Assume S 1 to be the lower half-space x 1 ≤ 0, then the initial curvature-center matrix is Every row corresponds to the curvature-center coordinates m of a ball. The first coordinate m 1 is the curvature κ. If the curvature is not zero, the second coordinate m 2 is the "height" of the center times the curvature, i.e. x 1 κ. Now take the second column of M 0 to be the weight vector w. That is, 1, 1, 1, 1) .
We have Σ w (R 1 ) = 9 > Σ w (I) = 3 and Σ w (R j ) = 3 = Σ w (I) for j > 1. By Lemma 4.5, we have By (7), this means that The key observation is that σ w j (U k · · · R 1 ) is nothing but the second curvature-center coordinate m 2 of the j-th ball in the k-th Descartes configuration. So at every step, a ball is replaced by another ball with a larger or same value for m 2 . Especially, since σ w j (R 1 ) ≥ 1 for 1 ≤ j ≤ 5, we conclude that m 2 ≥ 1 for every ball.
Four balls in the initial configuration have m 2 = 1. Once they are replaced, the new ball must have a strictly larger value of m 2 . This can be seen from (4) and notice that the r.h.s. of (4) is at least 4 since the very first step of the construction. We then conclude that m 2 > 1 for all balls except the first five. This exclude the possibility of curvature zero, so x 1 κ > 1 for all balls except the first five.
For dimension 3, Equation (4) is integral. Therefore the curvature-center coordinates of all balls are integral (see [16] for more details on integrality of Apollonian packings). Since the sequence is a packing (by the result of [4]), no ball in the sequence has a negative curvature. By the definition of the curvature-center coordinates, the fact that m 2 > 1 exclude the possibility of curvature 0. Therefore all balls have a positive curvature κ ≥ 1 except the first two.

Main result.
Lemma 4.7. Let G be a stacked 4-polytopal graph. If G has an induced subgraph in the form of G 3 G 6 , then G must have an induced subgraph in the form of K 3 P 6 .
Note that C 6 K 3 is not an induced subgraph of any stacked polytopal graph.
Proof. Let H be an induced subgraph of G of form G 3 G 6 . Let v ∈ V (H) be the last vertex of H that is added into the polytope during the construction of G. We have deg H v = 4, and the neighbors of v induce a complete graph. So the vertex v must be a vertex of G 6 . On the other hand, G 3 is an induced subgraph of K 4 , therefore must be the complete graph K 3 . Hence H is of the form K 3 G 6 .
By Lemma 4.2, in the stacked 4-polytope with graph G, the link of every 2-face is stacked 1polytopal. In other words, the common neighbors of K 3 induce a path P n where n ≥ 6. Therefore G must have an induced subgraph of the form P 6 K 3 .
proof of Theorem 1.1. The "only if" follows from Theorem 3.1 and Lemma 4.7. We prove the "if" part by induction on number of vertices.
The complete graph on 5 vertices is clearly 3-ball packable. Assume that every stacked 4polytope with less than n vertices satisfies this theorem. We now study a stacked 4-polytope P of n + 1 vertices that do not have six 4-cliques in its graph with 3 vertices in common, and assume that G(P) is not ball packable.
Let u, v be two vertices of G(P) of degree 4. Deleting v from P leaves a stacked polytope P of n vertices that satisfies the condition of the theorem, so G(P ) is ball packable by the assumption of induction. In the ball packing of P , the four balls corresponding to the neighbors of v are pairwise tangent. We then construct the ball packing of P by adding a ball S v that is tangent to these four balls. We have only one choice (the other choice coincides with another ball), but since G(P) is not ball packable, S v must intersect some other balls.
However, deleting u also leaves a stacked polytope whose graph is ball packable. Therefore S v must intersect S u and only S u . Now if there is another vertex w of degree 4 different from u and v, deleting w leaves a stacked polytope whose graph is ball packable, which produces a contradiction. Therefore u and v are the only vertices of degree 4.
Let T be the dual tree of P, its leaves correspond to vertices of degree 4. So T must be a path, whose two ends correspond to u and v. We can therefore construct the ball packing of P as a generalised Coxeter's sequence studied in the previous part. The first ball is S u . The construction word does not contain any subword of form (R i R j ) 2 (which produces C 6 K 3 and violates the condition) or R i R i , one can therefore always simplify the word into a non-empty reduced word. This does not change the corresponding matrix, so the curvature-center matrix of the last Descarte configuration remains the same.
Then Lemma 4.6 says that S u and S v are disjoint, which contradicts our previous discussion. Therefore G(P) is ball packable. Proof. The "only if" part is trivial. We only need to proof the "if" part.
If the tangency graph is a 4-tree, then during the construction, every newly added ball touches exactly 4 pairwise tangent balls. If it is not the case, we can assume S to be the first ball that touches five balls, the extra ball being S .
Since the tangency graph is stacked 4-polytopal before introducing S, there is a sequence of Descartes configurations generated by a word, with S in the first configuration and S in the last one. By ignoring the leading configurations in the sequence if necessary, we may assume that the second Descartes configuration does not contain S . We can arrange the first configuration as in the previous proof, taking S as the lower half-space x 1 < 0 and labelling it as the first ball. Therefore the generating word U ends with R 1 .
We may assume that U does not have any subword of the form R i R i . If U is reduced, we know in the proof of Theorem 1.1 that S and S are disjoint, contradiction. So U is non-reduced, but we may simplify U to a reduced one U . This will not change the curvature-center matrix of the last Descartes configuration. After this simplification, the last letter of U can not be R 1 anymore, otherwise S and S are disjoint. If U ends with R i R 1 , then U ends with R 1 R i .
In the sequence of balls generated by U , the only ball that touches S but not in the initial Descartes configuration is generated at the first step by R i . This ball must be S by assumption. This is the only occurrence of R i in U , otherwise S is not contained in the last Descartes configuration generated by U . Since S is the last ball generated by U, R i must be the first letter of U. The only possibility is then U = R i R 1 R i R 1 , which implies the presence of Soddy's hexlet.
Therefore, the relation between 4-trees, stacked 4-polytopes and Apollonian 3-ball packings can be illustrated as follows: where the hooked arrow A → B means that every instance of A corresponds to an instance of B satisfying the given condition.

4.5.
Higher dimensions. In dimensions higher than 3, the following relation between Apollonian packing and stacked polytope is restored.
We will need the following lemma: Lemma 4.10. If d = 3, let w be the (d + 2) dimensional vector (−1, 1, . . . , 1) , and U = U n . . . U 2 U 1 be a word over the generators of the d-dimensional Apollonian group (i.e. U i ∈ {R 1 , · · · , R d+2 }). If U ends with R 1 and does not contain any subword of the form R i R i , then σ w i (U) = 1 for 1 ≤ i ≤ d + 2 as long as U contains the letter R i . Proof. It is shown in [16,Theorem 5.2] that the j-th row of U − I is a linear combination of rows of the matrix A = 1 d−1 ee − dI. However, the weighted row sum σ w i (A) of the i-th row of A is 0 except for i = 1, whose weighted row sum is 2 According to the calculation in [16], C i is a polynomial in the variable where n i is the length of the longest subword that starts with R i and ends with R 1 , and c k are integer coefficients. The leading term is 2 ni x ni−1 d (i.e. c ni−1 = 1). Then, by the same argument as in [16], we can show that C i (x d ) is not zero as long as U contains R i . Therefore, for i = 1, For i = 1, since σ w 1 (I) = −1, what we need to prove is that C 1 = d − 1. So the calculation is slightly different. If C 1 = d − 1, then x d is a root of the polynomial x d C 1 (x d ) − 1, whose leading term is (2x d ) n1 . By the rational root theorem, d − 1 divides 2 n1 . So we must have d − 1 = 2 p for some p > 1, that is, Multiply both side by 2 (p−1)n1 , we got n1 k=1 c k−1 2 (p−1)(n1−k) = 2 (p−1)n1 .
The right hand side is even since (p − 1)n 1 > 0. The terms in the summation are even except for the last one since (p − 1)(n 1 − k) > 0. The last term in the summation is c n1−1 2 0 = 1, so the left hand side is odd, which is the desired contradiction. Therefore proof of Theorem 4.9. Consider a construction process of the Apollonian ball packing. The theorem is true at the first step. Assume that it remains true before the introduction of a ball S. We are going to prove that, once added, S touches exactly d + 1 pairwise tangent balls in the packing. If this is not the case, assume that S touches a (d + 2)-th ball S , then we can find a sequence of Descartes configurations, with S in the first configuration and S in the last, generated (similar as in Section 4.3) by a word over the generators of the d-dimensional Apollonian group with distinct adjacent terms. Without loss of generality, we assume S to be the lower half-space x 1 ≤ 0, as in the proof of the Corollary 4.6. Then Lemma 4.10 says that no ball (except for the first d + 2 balls) in this sequence is tangent to S , contradicting our assumption.

Discussions
A convex (d + 1)-polytope is edge-tangent if all of its edges are tangent to a d-sphere called midsphere. One can derive from the disk packing theorem that 2 : Theorem 5.1. Every convex 3-polytope has an edge-tangent realization.
Eppstein, Kuperberg and Ziegler have proved in [12] that no stacked 4-polytopes with more than six vertices has an edge-tangent realization. Comparing to Theorem 1.1, we see that ball packings and edge-tangent polytopes are not so closely related in higher dimensions: a polytope with ball packable graph does not, in general, have an edge-tangent realization. In this part, we would like to discuss about this difference in detail.

5.1.
From ball packings to polytopes. Let S d ⊂ R d+1 be the unit sphere {x | x 2 0 +· · ·+x 2 d = 1}. For a spherical cap C ⊂ S d of radius smaller than π/2, its boundary can be viewed as the intersection of S d with a d-dimensional hyperplane H, which can be uniquely written in form of Explicitly, if c ∈ S d is the center of C, and θ < π/2 is its spherical radius, then v = c/ cos θ. We can interpret v as the center of the unique sphere that intersects S d orthogonally along the boundary of C, or as the apex of the unique cone whose boundary is tangent to S d along the boundary of C. We call v the polar vertex of C, and H the hyperplane of C. We see that v, v > 1. If the boundary of two caps C and C intersect orthogonally, their polar vertices v and v satisfy v, v = 1, i.e. the polar vertex of one is on the hyperplane of the 2 Schramm [28] said that the theorem is first claimed by Koebe [19], who only proved the simplicial and simple cases. He credits the full proof to Thurston [32], but the online version of Thurston's lecture notes only gave a proof for simplicial cases.
other. If C and C have disjoint interiors, v, v < 1. If C and C are tangent at t ∈ S d , the segment vv is tangent to S d at t. Now, given a d-ball packing S = {S 0 , · · · , S n } inR d , we can construct a (d + 1)-polytope P as follows. ViewR d as the hyperplane x 0 = 0 inR d+1 . Then a stereographic projection mapsR d to S d , and S is mapped to a packing of spherical caps on S d . With a Möbius transformation if necessary, we may assume that the radii of all caps are smaller than π/2. Then P is obtained by taking the convex hull of the polar vertices of the spherical caps.
Theorem 5.2. If a (d + 1)-polytope P is constructed as described above from a d-sphere packing S, then G(S) is isomorphic to a spanning subgraph of G(P).
Proof. For every S i ∈ S, the polar vertex v i of the corresponding cap is a vertex of P, since the hyperplane {x | v i , x = 1} divides v i from other vertices.
For every edge S i S j of G(S), we now prove that v i v j is an edge of P.
can be written as a convex combination of other vertices v = k =i,j λ k v k , where λ k ≥ 0 and λ k ≤ 1. Then we have This is a contradiction.
For an arbitrary d-ball packing S, if a polytope P is constructed from S as described above, it is possible that G(P) is not isomorphic to G(S). That is, there may be an edge of P that does not correspond to any edge of G(S). This edge will intersect S d , and P is therefore not edge-tangent. On the other hand, if the graph of a polytope P is isomorphic to G(S), since the graph does not determine the combinatorial type of a polytope, P may be different from the one constructed from S. So a polytope whose graph is ball packable may not be edge-tangent.

Edge-tangent polytopes.
A polytope is edge-tangent if it can be constructed from a ball packing as described above, and its graph is isomorphic to the tangency relation of this ball packing. Neither condition can be removed. For the other direction, given an edge-tangent polytope P, one can always obtain a ball packing of G(P) by reversing the construction above.
Disk packings are excepted from these problems. In fact, it is easier [27] to derive Theorem 5.1 from the following version of the disk packing theorem, which is equivalent but contains more information: Theorem 5.3 (Brightwell and Scheinerman [5]). For every 3-polytope P, there is a pair of disk packings, one consists of vertex-disks representing G(P), the other consists of face-disks representing the dual graph G(P * ), such that: • For each edge e of P, the vertex-disks corresponding to the two endpoints of e and the face-disks corresponding to the two faces bounded by e meet at a same point; • A vertex-disk and a face-disk intersect iff the corresponding vertex is on the boundary of the corresponding face, in which case their boundaries intersect orthogonally. This representation is unique up to Möbius transformations.
The presence of the face-disks and the orthogonal intersections guarantee the incidence relations between vertices and faces, and therefore fix the combinatorial type of the polytope. We can generalize this statement into higher dimensions: Theorem 5.4. Given a (d + 1)-polytope P, if there is a packing of d-dimensional vertex-balls representing G(P), together with a collection of (d − 1)-dimensional facet-balls indexed by the facets of P, such that: • For each edge e of P, the vertex-balls corresponding to the two endpoints of e and the boundaries of the facet-balls corresponding to the facets bounded by e meet at a same point; • Either a vertex-ball and a facet-ball are disjoint, or their boundaries intersect at a nonobtuse angle; • The boundary of a vertex-ball and the boundary of a facet-ball intersect orthogonally iff the corresponding vertex is on the boundary of the corresponding facet. Then P has an edge-tangent realization.
Again, the convexity is guaranteed by the disjointness and nonobtuse intersections, and the incidence relations are guaranteed by the orthogonal intersections. For an edge-tangent polytope, the facet-balls can be obtained by intersecting the midsphere with the facets. However, they do not form a d-ball packing for d > 2. On the other hand, for an arbitrary polytope of dimension 4 or higher, even if its graph is ball packable, the facet-balls satisfying the conditions of Theorem 5.4 do not in general exist.
For example, consider the stacked 4-polytope with 7 vertices. The packing of its graph (with the form K 3 P 4 ) is constructed in the proof of Theorem 3.1. We notice that a ball whose boundary orthogonally intersects the boundary of the three unit balls and the boundary of ball C, have to intersect the boundary of ball D orthogonally (see Figure 1), thus violates the last condition of Theorem 5.4. One verifies that the polytope constructed from this packing is not simplicial.

Stress freeness.
Given a ball packing S = {S 1 , · · · , S n }, let v i be the vertices of the polytope P constructed as above. A stress of S is a real function T on the edge set of G(S) such that for all S i ∈ S SiSj edge of G(S) We can view stress as forces between tangent spherical caps when all caps are in equilibrium. We say that S is stress-free if it has no non-zero stress.
Theorem 5.5. If the graph of a stacked (d + 1)-polytope is d-ball packable, its ball packing is stress-free.
Proof. We construct the ball packing as we did in the proof of Theorem 4.1, and assume a non-zero stress. The last ball S that is added into the packing has d + 1 "neighbor" balls tangent to it. Let v be the vertex of P corresponding to S, and C the correponding spherical caps on S d . If the stress is not zero on all the d+ 1 edges incident to v, since P is convex, they can not be of the same sign. So there must be a hyperplane containing v separating positive edges and negative edges of v. This contradicts the assumption that the spherical cap corresponding to v is in equilibrium. So the stress must vanish on the edges incident to v. We then remove S and repeat the same argument on the second last ball, and so on, and finally conclude that the stress has to be zero on all the edges of G(S).
The above theorem, as well as the proof, was informally discussed in Kotlov, Lovász and Vempala's paper on Colin de Verdière number [20,Section 8]. In that paper, the authors defined an graph invariant ν(G) using the notion of stress-freeness, which turns out to be strongly related to Colin de Verdière number. Their results imply that if the graph G of a stacked (d + 1)-polytope with n vertices is d-ball packable, then ν(G) ≤ d + 2, and the upper bound is achieved if n ≥ d + 4. However, Theorem 3.1 asserts that graphs of stacked polytopes are in general not ball packable.