Abstract
The normalized volume of the Chan–Robbins–Yuen polytope (\(CRY_n\)) is the product of consecutive Catalan numbers. The polytope \(CRY_n\) has captivated combinatorial audiences for over a decade, as there is no combinatorial proof for its volume formula. In their quest to understand \(CRY_n\) better, the third author and Morales introduced two natural generalizations of it and conjectured that their volumes are certain powers of 2 multiplied by a product of consecutive Catalan numbers. Zeilberger proved one of these conjectures. In this paper we present proofs of both conjectures.
Introduction
The Chan–Robbins–Yuen polytope (\(CRY_n\)) has captivated combinatorialists for nearly two decades since its introduction in [3]. Chan, Robbins and Yuen defined \(CRY_n\) as the convex hull of the set of \(n\times n\) permutation matrices \(\pi \) with \(\pi _{ij}=0\) if \(j\ge i+2\). The polytope \(CRY_n\) is integrally equivalent to the (type A) flow polytope of the complete graph \(K_{n+1}\) with netflow vector \((1,0, \ldots , 0, 1)\) [6]. (We define these in Sect. 2.) Recall that integer polytopes \({\mathcal {P}}\subset \mathbb {R}^m\) and \({\mathcal {Q}}\subset \mathbb {R}^k\) are integrally equivalent if there is an affine transformation \(f:\mathbb {R}^m\rightarrow \mathbb {R}^k\) such that f maps \({\mathcal {P}}\) bijectively onto \({\mathcal {Q}}\) and f maps \(\mathbb {Z}^m\cap {\text {aff}}({\mathcal {P}})\) bijectively onto \(\mathbb {Z}^k\cap {\text {aff}}({\mathcal {Q}})\), where \( {\text {aff}}\) denotes affine span. If two polytopes are integrally equivalent, then they have the same combinatorial type as well as the same volume and more generally the same Ehrhart polynomial.
Recall that the Ehrhart polynomial \(i({\mathcal {P}}, t)\) of an integer polytope \({\mathcal {P}} \subset \mathbb {R}^m\) counts the number of integer points of dilations of the polytope, \(i({\mathcal {P}}, t):=\#\,(t {\mathcal {P}}\cap \mathbb {Z}^m)\). Its leading coefficient is the volume of the polytope. The normalized volume \({\text {vol}}(P)\) of a ddimensional polytope \({\mathcal {P}} \subset {\mathbb {R}}^m\) is the volume form which assigns a volume of one to the smallest ddimensional integer simplex in the affine span of \({\mathcal {P}}\). In other words, the normalized volume of a ddimensional polytope \({\mathcal {P}}\) is d! times its volume.
The polytope \(CRY_n\) is a face of the Birkhoff polytope, the polytope of all doubly stochastic matrices, prominent in combinatorial optimization. Remarkably, the normalized volume of the \(CRY_n\) polytope is the product of the first \(n2\) Catalan numbers, as conjectured by Chan et al. in [3] and proved by Zeilberger in [9].
Theorem 1.1
[3, 9] The normalized volume of \(CRY_n\) is
where \({\text {Cat}}(i)=\frac{1}{i+1}{{2i} \atopwithdelims (){i}}\) is the Catalan number.
Zeilberger proved Theorem 1.1 analytically via constant terms identities. Despite the combinatorial volume formula, his theorem still lacks a combinatorial proof. In a quest to broaden the view on \(CRY_n\) and flow polytopes in general, the third author and Morales introduced and studied signed flow polytopes in [6], and defined types C and D analogues of the Chan–Robbins–Yuen polytope, \(CRYC_{n+1}\) and \(CRYD_{n+1}\). They conjectured:
Conjecture 1.2
[6, Conj. 7.6], [10, Zeilberger’s Theorem] Let \(CRYD_{n+1}\) be the flow polytope \({\mathcal {F}}_{K_{n+1}^{D}}(2,0,\ldots ,0)\) where \(K^{D}_{n+1}\) is the complete signed graph with \(n+1\) vertices (all edges of the form \((i,j,\pm )\), \(1\le i<j\le n+1\)). Then the normalized volume of \(CRYD_{n+1}\) is
Conjecture 1.3
[6, Conj. 7.8] Let \(CRYC_{n+1}\) be the flow polytope \({\mathcal {F}}_{K_{n+1}^{C}}(2,0,\ldots ,0)\) where \(K^{C}_{n+1}\) is the complete signed graph with \(n+1\) vertices (all edges of the form \((i,j,\pm )\) for \(1\le i< j\le n+1\) and \((i,i,+)\) for \(1\le i\le n\)). Then the normalized volume of \(CRYC_{n+1}\) is
For details on notation in the above conjectures consult Sect. 2. We note that in [6, p. 834, Conj. 7.6] the formula for \({\text {vol}}(CRYC_{n+1})\) has a typo giving an additional factor of 2.
In [10] Zeilberger gave a sketch of a proof of Conjecture 1.2. In this paper we prove Conjecture 1.3, by understanding the volume of \(CRYC_{n+1}\) in combinatorial terms and translating this understanding to a constant term identity which we prove with analytic tools. Moreover, we also give a rigorous proof of Conjecture 1.2 following the sketch given in [10]. Some steps of Zeilberger’s proof in [10] require rigorous arguments which we supply; in particular Zeilberger notes in [10] that he does not provide justifications for the change of variables in his contourintegrals.
The outline of the paper is as follows. In Sect. 2 we give the background on type C flow polytopes (of which the type D flow polytopes are a special case where the graph has no loops) and define \(CRYC_{n+1}\) and \(CRYD_{n+1}\). In Sect. 3 we explain how to express the volumes of \(CRYC_{n+1}\) and \(CRYD_{n+1}\) as constant term identities. In Sect. 4 we prove Conjecture 1.3 using our insights from Sect. 3 and constant term identity techniques. We also present a proof of Conjecture 1.2 for completeness. In Sect. 5 we conclude by a discussion of open problems.
Type \(C_{n+1}\) Flow Polytopes
Much of this section follows the exposition in [6].
Signed Graphs, Kostant Partition Functions and Flows
We consider signed graphs G on the vertex set \([n+1]:=\{1,2,\dots ,n+1\}\), which are graphs such that there is a sign \(\epsilon \in \{+, \}\) assigned to each of their edges. We allow loops and multiple edges. The sign of a loop is always \(+\), and a loop at vertex i is denoted by \((i, i, +)\). Denote by \((i, j, )\) and \((i, j, +)\), \(i < j\), a negative and a positive edge between vertices i and j, respectively. A positive edge, which is an edge labeled by \(+\), is positively incident, or, incident with a positive sign, to both of its endpoints. A negative edge is positively incident to its smaller endpoint and negatively incident to its greater endpoint. Denote by \(m_{ij}^\epsilon \) the multiplicity of edge \((i, j, \epsilon )\) in G, \(i\le j\), \(\epsilon \in \{+, \}\). To each edge \((i, j, \epsilon )\), \(i\le j\), of G, associate the positive type \(C_{n+1}\) root \(\mathrm{v}(i,j, \epsilon )\), where \(\mathrm{v}(i,j, )=\mathbf{e}_i\mathbf{e}_j\) and \(\mathrm{v}(i,j, +)=\mathbf{e}_i+\mathbf{e}_j\). Let \(S_G := \{\!\{\mathbf{v}_1, \ldots , \mathbf{v}_N\}\!\}\) be the multiset of roots corresponding to the multiset of edges of G. Note that \(N=\sum _{1\le i\le j\le n+1} (m_{ij}^+m_{ij}^+)\).
For a signed graph G the Kostant partition function \(K_G\) evaluated at the vector \(\mathrm{v}\in \mathbb {Z}^{n+1}\) is defined as
That is, \(K_G(\mathrm{v})\) is the number of ways to write the vector \(\mathrm{v}\) as an \({\mathbb {N}}\)linear combination of the positive type \(C_{n+1}\) roots \(\mathbf{v}_k\) corresponding to the edges of G, without regard to order.
In this paper positive edges will be colored red and negative edges will be colored black.
Example 2.1
For the signed graph G in Fig. 1i, \(K_G(1,3,2)=3,\) since \((1,3,2)=(\mathbf{e}_1\mathbf{e}_3) + (2\mathbf{e}_2) + (\mathbf{e}_2\mathbf{e}_3)=(\mathbf{e}_1+\mathbf{e}_2) + 2(\mathbf{e}_2\mathbf{e}_3)=(\mathbf{e}_1\mathbf{e}_2)+(2\mathbf{e}_2)+2(\mathbf{e}_2\mathbf{e}_3)\).
Let G be a signed graph on the vertex set \([n+1]\), and \(M_G\) be the \((n+1)\times N\) matrix whose columns are the vectors in \(S_G\). Fix an integer vector \(\mathbf{a}=(a_1, \ldots , a_n, a_{n+1}) \in \mathbb {Z}^{n+1}\) which we call the netflow. An \(\varvec{\mathbf{a}}\)flow \(\varvec{\mathbf{f}}_G\) on G is a vector \(\varvec{\mathbf{f}}_G=(b_k)_{k \in [N]}\), \(b_k \in \mathbb {R}_{\ge 0}\) such that \(M_G \varvec{\mathbf{f}}_G=\varvec{\mathbf{a}}\). That is, for all \(1\le v \le n+1\), we have
where \(b(e_k)=b_k\), \(\text {inc}(e, v)=\) if \(e=(g, v, )\), \(g <v\), and \(\text {inc}(e, v)=+\) if \(e=(g, v, +)\), \(g <v\), or \(e=( v, j, \epsilon )\), \(v <j,\) and \(\epsilon \in \{+, \}\).
Example 2.2
Figure 1ii shows a signed graph G with three vertices with flow assigned to each edge. The netflow is \(\mathbf{a}=(1,3,2)\). We can check that (2.1) holds for this example. Indeed we have \(1=\frac{1}{2}+\frac{1}{4}+\frac{1}{4}\), \(3+\frac{1}{4}=\frac{1}{4}+\frac{3}{4}+\frac{3}{2}+\frac{3}{4}\), etc.
Call b(e) the flow assigned to edge e of G. If the edge e is negative, one can think of b(e) units of fluid flowing on e from its smaller vertex to its bigger vertex. If the edge e is positive, then one can think of b(e) units of fluid flowing away from the two vertices of e to “infinity.” Edge e is then a “leak” taking away 2b(e) units of fluid.
From the above explanation it is clear that if we are given an \(\mathbf{a}\)flow \(\mathbf{f}_G\) such that
for some positive integer y then \(\sum _{e=(i, j, +)}b(e)=y\). Using again the example in Fig. 1ii, \(\sum _{i=1}^{n+1}a_i=1+32=2\sum _{e=(i, j, +)}b(e)=2\bigl (\frac{1}{4}+\frac{3}{4}\bigr )\).
An integer \(\varvec{\mathbf{a}}\)flow \(\varvec{\mathbf{f}}_G\) on G is an \(\varvec{\mathbf{a}}\)flow \(\varvec{\mathbf{f}}_G=(b_i)_{i \in [N]}\) with \(b_i \in \mathbb {Z}_{\ge 0}\). It is a matter of checking the definitions to see that for a signed graph G on the vertex set \([n+1]\) and vector \(\varvec{\mathbf{a}}=(a_1, \ldots , a_n, a_{n+1}) \in \mathbb {Z}^{n+1}\), the number of integer \(\varvec{\mathbf{a}}\)flows on G is given by the Kostant partition function \(K_G(\varvec{\mathbf{a}})\).
Define the flow polytope \(\mathcal {F}_G(\mathbf{a})\) associated to a signed graph G on the vertex set \([n+1]\) and the integer vector \(\mathbf{a}=(a_1, \ldots , a_{n+1})\) as the set of all \(\mathbf{a}\)flows \(\mathbf{f}_G\) on G, i.e., \(\mathcal {F}_G=\{\mathbf{f}_G \in \mathbb {R}^N_{\ge 0} \mid M_G \mathbf{f}_G = \mathbf{a}\}\). The flow polytope \(\mathcal {F}_G(\mathbf{a})\) then naturally lives in \({\mathbb {R}}^{N}\), where N is the number of edges of G. The third author and Morales [6, Thm. 3.10] showed that if \(\mathbf{a}\) is an integer vector then the vertices of \(\mathcal {F}_G(\mathbf{a})\) are halfintegral points. Therefore, from the definition of the Ehrhart polynomial and the Kostant partition function it follows that
Classical type \(A_n\) flow polytopes are type \(C_{n+1}\) flow polytopes \(\mathcal {F}_G(\mathbf{a})\) such that the graph G has only negative edges.
Chan–Robbins–Yuen Polytopes
We think of the Chan–Robbins–Yuen polytope \(CRY_n\) as the flow polytope of the (unsigned) complete graph on \(n+1\) vertices \({\mathcal {F}}_{K_{n+1}}(1,0,\ldots ,0,1)\) (since they are integrally equivalent). Zeilberger computed the normalized volume of this polytope (Theorem 1.1) using the Morris identity [8, Thm. 4.13].
Let \(K^{D}_{n+1}\) be the complete signed graph on \(n+1\) vertices, that is, its edges are of the form \((i,j,\pm )\) for \(1\le i<j\le n+1\) corresponding to all the positive roots in type \(D_{n+1}\). Let \(CRYD_{n+1}={\mathcal {F}}_{K_{n+1}^{D}}(2,0,\ldots ,0)\) be the type D analogue of the Chan–Robbins–Yuen polytope. Similarly, let \(K^{C}_{n+1}\) be the signed graph on \(n+1\) vertices with edges of the form \((i,j,\pm )\) for \(1\le i< j\le n+1\) and \((i,i,+)\) for \(i \in [n+1]\), corresponding to all the positive roots in type \(C_{n+1}\). Let \(CRYC_{n+1}={\mathcal {F}}_{K_{n+1}^{C}}(2,0,\ldots ,0)\) be the type C analogue of the Chan–Robbins–Yuen polytope. Conjectures 1.2 and 1.3 concern these polytopes, and are the subject of this paper.
Dynamic Integer Flows
Given a signed graph G and an edge \(e=(i,j,+)\) of G, we will regard \(e=(i,j,+)\) as two positive halfedges \((i,\varnothing ,+)\) and \((\varnothing ,j,+)\) that still have “memory” of being together (see Fig. 2i). We assign nonnegative integer flows \(b_{\ell }(e)\) and \(b_{r}(e)\) to the left and right halves of the positive edge, starting at the left halfedge. Once we assign \(b_{\ell }(e)\) units of flow, we add \(b_{\ell }(e)\) extra right positive halfedges incident to j. Any right positive halfedge \(e'\) is assigned a nonnegative integer flow \(b_r(e')\) (whether it was an extra right positive halfedge, or an original one). When we assign a nonnegative integer flow to a right positive halfedge no edges of any kind are added making the process of adding extra edges to the graph finite.
An analogue of (2.1) still holds:
where \(a_i\) is the netflow at vertex i and \(\mathcal {I}_i(G)\), \(\mathcal {O}^_i(G)\), and \(\mathcal {O}^+_i(G)\) are as follows. Given a signed graph G and one of its vertices i, let \({\mathcal {I}}_i={\mathcal {I}}_i(G)\) be the multiset of incoming edges to i, which are defined as negative edges of the form \((\cdot ,i,)\). Let \({\mathcal {O}}_i={\mathcal {O}}_i(G)\) be the multiset of outgoing edges from i, which are defined as edges of the form \((\cdot ,i, +)\) and \((i,\cdot ,\pm )\). Finally, let \({\mathcal {O}}_i^{\pm }\) be the signed refinement of \({\mathcal {O}}_i\). Define \(\mathrm{indeg}_G(i):=\#\,{\mathcal {I}}_i(G)\) to be the indegree of vertex i in G.
We call the integer \(\mathbf{a}\)flows of (2.4) dynamic.
For the signed graph G in Fig. 2i with only one positive edge \(e=(1,3,+)\), we give three of its 17 integer dynamic flows with netflow (2, 1, 1) where we add \(b_{\ell }(e)=0,1\) and 2 right halfedges respectively.
Given a signed graph G on the vertex set \([n+1]\) and \(\mathbf{a}\) a vector in \({\mathbb {Z}}^{n+1}\), the dynamic Kostant partition function \(K_G^{\mathrm{dyn}}(\mathbf{a})\) is the number of integer dynamic \(\mathbf{a}\)flows in G.
Proposition 2.3
[6, Prop. 6.11] The generating series of the dynamic Kostant partition function is
where \(\mathbf{x}^\mathbf{a}=x_1^{a_1}x_2^{a_2}\cdots x_{n+1}^{a_{n+1}}\).
Theorem 2.4
[6, Thm. 6.9] Given a loopless connected signed graph G on the vertex set \([n+1]\), let \(d_i=\mathrm{indeg}_G(i)1\) for \(i\in \{2,\ldots ,n\}\). The normalized volume \({\text {vol}}(\mathcal {F}_G)\) of the flow polytope associated to the graph G is
Theorem 2.4 is in general false for graphs with loops, as it already fails for
This theorem does not apply to \(CRYC_{n+1}={\mathcal {F}}_{K_{n+1}^C}(2,0,\ldots ,0)\) as \(K_{n+1}^C\) has loops. Nevertheless, we will show in the next section that the analogue of Theorem 2.4 holds for \(CRYC_{n+1}\). Our proof is specific to \(CRYC_{n+1}\) and (obviously) cannot be extended to general graphs with loops.
Volumes of \(CRYC_{n+1}\) and \(CRYD_{n+1}\) Via Constant Term Identities
Suppose that a multivariable function \(f(x_1,\ldots ,x_n)\) is a Laurent series in \(x_i\) considering other variables as constants. Then we denote by \(\mathrm{CT}_{x_i}f(x_1,\ldots ,x_n)\) the constant term in the Laurent expansion. Based on Theorem 2.4 it is proved in [6] that:
Proposition 3.1
[6, Prop. 7.5] The normalized volume of \(CRY D_{n+1}\) is
Using the above Conjecture 1.2 can be rewritten as a constant term identity, and this is how Zeilberger in [10] sketched its proof; we expand on his proof in the next section. This section is devoted to proving a similar constant term identity for \(CRYC_{n+1}\). We know that Theorem 2.4 does not apply to this case. We now show that the analogue of Theorem 2.4 holds for \(CRYC_{n+1}\).
Theorem 3.2
The normalized volume of \(CRY C_{n+1}\) is
Note, Theorem 3.2 differs only in the presence of \(\prod _{i=1}^{n1}(12x_i)^{1}\) from type D as in (3.1) and Conjecture 1.3 states that \({\text {vol}}(CRYC_{n+1}) =2^{n1} {\text {vol}}(CRYD_{n+1}) \).
The rest of this section is devoted to the proof of Theorem 3.2. Our proof uses some of the ideas of the proof of Theorem 2.4 together with new considerations, so we now review more background following [6].
Reduction Rules for Signed Graphs
In this subsection we explain how to recursively compute the volume of the flow polytope \(\mathcal {F}_G(\mathbf{a})\) following [6, Sect. 4]. Figure 3 is borrowed from [6] with permission. It illustrates the reduction rules (R1)–(R6) given below.
Suppose that G, \(G_1\) and \(G_2\) are graphs on vertex set \([n+1]\). We say that G reduces to \(G_1\) and \(G_2\) under the reduction rules (R1)–(R6) if \(G_1\) and \(G_2\) are obtained from G by one of these rules described as follows.
 (R1):

For some \((a, i, ), (i, b, ) \in E(G)\) with \(a<i<b\),
$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i,)\} \cup \{(a, b, )\}, \\ E(G_2)&=E(G)\backslash \{(i, b,)\} \cup \{(a, b,)\}. \end{aligned}$$  (R2):

For some \((a, i, ), (i, b, +) \in E(G)\) with \(a<i<b\),
$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i,)\} \cup \{(a, b, +)\}, \\ E(G_2)&=E(G)\backslash \{(i, b,+)\} \cup \{(a, b, +)\}. \end{aligned}$$  (R3):

For some \((a, i, ), (b, i, +) \in E(G)\) with \(a<b<i\),
$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i, )\} \cup \{(a, b, +)\}, \\ E(G_2)&=E(G)\backslash \{(b, i, +)\} \cup \{(a, b, +)\}. \end{aligned}$$  (R4):

For some \((a, i, +), (b, i, ) \in E(G)\) with \(a<b<i\),
$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i, +)\} \cup \{(a, b, +)\}, \\ E(G_2)&=E(G)\backslash \{(b, i, )\} \cup \{(a, b, +)\}. \end{aligned}$$  (R5):

For some \((a, i, ), (a, i, +) \in E(G)\) with \(a<i \),
$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i, +)\} \cup \{(a, a, +)\}, \\ E(G_2)&=E(G)\backslash \{(a, i, )\} \cup \{(a, a, +)\}. \end{aligned}$$  (R6):

For some \((a, i, ), (i, i, +) \in E(G)\) with \(a<i \),
$$\begin{aligned} E(G_1)&=E(G)\backslash \{(a, i, )\} \cup \{(a, i, +)\}, \\ E(G_2)&=E(G)\backslash \{(i, i, +)\} \cup \{(a, i, +)\}. \end{aligned}$$
Lemma 3.3
Let G be a signed graph on the vertex set \([n+1]\) and let \(e_1\) and \(e_2\) be two edges of G on which one of the reductions (R1)–(R6) can be performed yielding graphs \(G_1\) and \(G_2\). If the dimensions of \(\mathcal {F}_G(2, 0, \ldots , 0), \mathcal {F}_{G_1}(2, 0, \ldots , 0)\) and \(\mathcal {F}_{G_2}(2, 0, \ldots , 0)\) are the same, then
If on the other hand only one of \(\mathcal {F}_{G_1}(2, 0, \ldots , 0)\) and \(\mathcal {F}_{G_2}(2, 0, \ldots , 0)\) is of dimension \(\dim \mathcal {F}_G(2, 0, \ldots , 0)\), and the other one has strictly lower dimension, we have
where \(\mathcal {F}_{G_i}(2, 0, \ldots , 0)\) is of dimension \(\dim \mathcal {F}_G(2, 0, \ldots , 0)\) (for \(i=1\) or \(i=2\)).
Moreover, the above are all the possible cases.
Another lemma that follows from considerations in [6] is:
Lemma 3.4
Given a signed graph \(G=([n+1], E)\) with loops only at the vertex 1, let \(L\subset E\) be the multiset of its loops. Denote by \(G^1=([n+1], E\backslash L)\) the graph obtained from G with its loops at vertex 1 removed. Then
The Proof of Theorem 3.2
We prove a sequence of statements which together imply Theorem 3.2.
Lemma 3.5
We have
where \({\mathcal {G}}=\bigl \{G=\bigl ([n+1], \bigcup \limits _{v=2}^{n+1} S_{i_v}^{(v)}\bigr ) \mid i_v \in [v1], v\in [2,n+1]\bigr \}\) and \(S_k^{(v)}=\{(i,v,+),(i,v,+) \mid i \in [1,k1]\} \cup \{(k,v,+),(k,v,+), (k,v,)\}\cup \{(i,v,+),(i,v,) \mid i \in [k+1,v1] \}\).
Proof
The proof will proceed via the following steps. We will prescribe an order \({\mathcal {O}}\) of repeated reductions (R6) on \(K_{n+1}^C\) and its descendants obtained via these reductions until all graphs obtained have loops only at vertex 1. We will identify the graphs obtained this way whose flow polytopes are of the same dimension as \(CRYC_{n+1}=\mathcal {F}_{K_{n+1}^C}(2, 0, \ldots , 0)\). Denote this set of graphs by \({\mathcal {G}}(1)\). Applying Lemma 3.3 we can then write
We then observe that if we remove the loops at vertex 1 from the graphs in \({\mathcal {G}}(1)\), then we exactly obtain the graphs in \({\mathcal {G}}\). Thereby, by an application of Lemma 3.4 we obtain the statement of Lemma 3.5.
Now we prescribe the order \({\mathcal {O}}\) of repeated reductions (R6) to \(G:=K_{n+1}^C\). First we reduce at vertex 2, until there is nothing to reduce at vertex 2. Next we reduce at 3, until there is nothing to reduce at vertex 3. We continue like this, until we finally reduce at vertex \(n+1\), until there is nothing to reduce at vertex \(n+1\). Now, we specify the order of reductions at a given vertex v. Since we are only using (R6), we are always using the edge \((v,v,+)\) in the reduction and one incoming edge to v. Order the incoming edges by length and start the reductions from longest edge towards the shortest until we eliminate the loop at vertex v. Figure 4 illustrates the repeated application of reductions (R6) for \(K_3^C\).
We now study the reduction order \({\mathcal {O}}\). The order \({\mathcal {O}}\) calls for applying reduction (R6) to edges \((1,2, )\) and \((2,2, +)\) at vertex 2. Observe that \(\dim \mathcal {F}_{G_1}<\dim \mathcal {F}_{K_{n+1}^C}\) and \(\dim \mathcal {F}_{G_2}=\dim \mathcal {F}_{K_{n+1}^C}\). One way to see this is to consider reducing \(G_1\) and \(G_2\) via the reductions (R1)–(R6) until no more reductions are possible. At this point all graphs have loops only at vertex 1 and at vertices with no incoming edges. It is not hard to see that the maximal possible number of loops at vertex 1 in a descendant of \(G_1\) is strictly less than the maximal possible number of loops at vertex 1 in a descendant of \(G_2\). Yet, the maximal possible number of loops at 1 in a descendant of \(G_i\) (\(i \in [2]\)) which cannot be reduced further via (R1)–(R6) with loops only at 1 and at vertices with no incoming edges equals the dimension of \(\mathcal {F}_{G_i}\). Therefore, we proved the following:
Claim (at vertex 2). If the graph D obtained from \(K_{n+1}^C\) by repeatedly performing (R6) as specified by the order \({\mathcal {O}}\) is such that \(\dim \mathcal {F}_D(2,0,\ldots ,0)=\dim \mathcal {F}_{K_{n+1}^C}(2,0,\ldots , 0)\) and in D there is no loop at vertex 2, then D has three edges of the form \((i,2, \epsilon ),\) where \(i<2\), and these edges must be \((1,2,+), (1,2,+)\) and \((1,2,)\).
Next, take \(G_2\) (the only \(\dim G\)dimensional descendant of G after performing reductions (R6) in order \({\mathcal {O}}\) at vertex 2 until all loops at 2 are eliminated) and do repeated reductions (R6) at the vertex 3 according to \({\mathcal {O}}\). An analogous argument to above gives that:
Claim (at vertex 3). If the graph D obtained from \(K_{n+1}^C\) by repeatedly performing (R6) as specified by the order \({\mathcal {O}}\) is such that \(\dim \mathcal {F}_D(2,0,\ldots ,0)=\dim \mathcal {F}_{K_{n+1}^C}(2,0,\ldots , 0)\) and in D there is no loop at vertex 3, then D has 5 edges incident to vertex 3 of the form \((i,3, \epsilon ),\) where \(i<3\), and these edges can be:

(1)
\((1,3,+), (1,3,+), (1,3,)\) and \((2,3,+),(2,3,)\), or

(2)
\((1,3,+), (1,3,+)\) and \((2,3,+),(2,3,+), (2,3,).\)
Generalizing straightforwardly, we obtain:
Claim (at vertex v ). If the graph D obtained from \(K_{n+1}^C\) by repeatedly performing (R6) as specified by the order \({\mathcal {O}}\) is such that \(\dim \mathcal {F}_D(2,0,\ldots ,0)=\dim \mathcal {F}_{K_{n+1}^C}(2,0,\ldots , 0)\) and in D there is no loop at vertex v, then D has \(2v1\) edges incident to vertex v of the form \((i,v, \epsilon ),\) where \(i<v\), and the set of these edges can be:
 (1):

\(S_1^{(v)}=\{(1,v,+), (1,v,+), (1,v,)\} \cup \{(i,v,+),(i,v,) \mid i \in [2,v1] \}\), or
 (2):

\(S_2^{(v)}=\{(1,v,+), (1,v,+)\}\cup \{(2,v,+),(2,v,+), (2,v,)\}\cup \{(i,v,+),(i,v,) \mid i \in [3,v1] \}\), or \(\cdots \)
 (k):

\(S_k^{(v)}=\{(i,v,+),(i,v,+) \mid i \in [1,k1]\} \cup \{(k,v,+),(k,v,+), (k,v,)\}\cup \{(i,v,+),(i,v,) \mid i \in [k+1,v1] \}\) \(\cdots \)
 (\(v1\)):

\(S_{v1}^{(v)}=\{(i,v,+),(i,v,+) \mid i \in [1,v2]\} \cup \{(v1,v,+),(v1,v,+), (v1,v,)\}\).
Thus, by the claims we obtain a description of \({\mathcal {G}}(1)\). It is clear that once the loops at vertex 1 of the graphs in \({\mathcal {G}}(1)\) are deleted we obtain the set of graphs in \({\mathcal {G}}\). This concludes the proof as explained at the beginning of the proof. \(\square \)
Lemma 3.6
We have
where \({\mathcal {G}}=\bigl \{G=\bigl ([n+1], \bigcup \limits _{v=2}^{n+1} S_{i_v}^{(v)}\bigr ) \mid i_v \in [v1], v\in [2,n+1]\bigr \}\) and \(S_k^{(v)}=\{(i,v,+),(i,v,+) \mid i \in [1,k1]\} \cup \{(k,v,+),(k,v,+), (k,v,)\}\cup \{(i,v,+),(i,v,) \mid i \in [k+1,v1] \}\).
Proof
By Theorem 2.4,
for each \(G \in {\mathcal {G}}\). Thus, (3.2) is equivalent to:
We prove (3.3) by exhibiting a bijection between the dynamic Kostant partition functions counted on the left hand side and those counted on the right hand side.
First note that
where the equality holds both as sets and multisets. Thus, once we are given a vector \(\mathbf{a}=(0,a_2,a_3, \ldots , a_{n+1}) \) with \(0\le a_v\le v2\), \(v \in [2, n+1]\), it uniquely determines the graph \(G \in {\mathcal {G}}\) such that \((0, \mathrm{indeg}_G(2)1, \ldots , \mathrm{indeg}_G(n+1)1)=(0,a_2,a_3, \ldots , a_{n+1})\). In the following we denote this unique graph from \({\mathcal {G}}\) by \(G_{(0,a_2,a_3, \ldots , a_{n+1})}=\bigl ([n+1], \bigcup \limits _{v=2}^{n+1} S_{va_v1}^{(v)}\bigr )\).
Given a dynamic integer flow \(f_{\mathbf{a}}\) on \(G=G_{(0,a_2,a_3, \ldots , a_{n+1})}\) with netflow vector \((0,a_2,a_3, \ldots , a_{n+1})\) for some \(0\le a_v\le v2\), \(v \in [2, n+1]\), we now specify how to construct a dynamic integer flow \(g(f_{\mathbf{a}})\) on \(K_{n+1}^C\) with netflow vector \((0,0,1,2,\ldots ,n1)\). Our description involves several steps.
Notational convention. A positive edge \((i,j,+)\) is considered a left and a right half edge. We denote by \((i,j,+)_l\) and \((i,j,+)_r\) the left and right half of edge \((i,j,+)\). In case there are more left or right half edges we add superscripts; e.g. \((i,j,+)_r\) and \((i,j,+)^1_r\) are two different right half edges. Given a dynamic flow on a graph G we might have added positive right half edges with flows to G; we denote the graph with these positive right half edges added by \(G^\mathrm{dyn}\).
Let us fix \(v\in [2,n+1]\). We define the flows of \(g(f_\mathbf{a})\) on the positive half edges \((i,v,+)_r\) and \((i,v,+)_l\) for \(1\le i\le v\) and the negative edges \((i,v,)\) for \(1\le i\le v1\) as follows.
Let \(k(v)=va_v1\). Then \(1\le k(v)\le v1\) and for \(1\le i\le v1\), the edges between i and v in G are precisely

two positive edges \((i,v,+)\) and \((i,v,+)^1\) if \(1\le i\le k(v)1\),

two positive edges \((i,v,+)\) and \((i,v,+)^1\) and one negative edge \((i,v,)\) if \(i=k(v)\),

one positive edge \((i,v,+)\) and one negative edge \((i,v,)\) if \(k(v)+1\le i\le v1\).
First, observe that G and \(K_{n+1}^C\) have common edges: \((i,v,+)\) for \(1\le i\le v1\) and \((i,v,)\) for \(k(v)\le i\le v1\). We define the flows of \(g(f_\mathbf{a})\) related to these edges to be the same as those of \(f_\mathbf{a}\). In other words,
For the new right half edges at v we just transfer whatever the value of \(f_{\mathbf{a}}\) is on these new right half edges to \(g(f_{\mathbf{a}})\) on the corresponding new right half edges of \((K_{n+1}^{C})^\mathrm{dyn}\).
Now we need to consider the half edges \((i,v,+)^1_l\) and \((i,v,+)^1_r\) for \(1\le i\le k(v)\) in G.
Firstly, we set
thereby creating new half edges \((v,v,+)_r^1, \ldots , (v,v,+)_r^{k(v)1}\). Then we define
Secondly, we define
and increase the value of \(g(f_\mathbf{a})(k(v),v,)\), which has been defined above, by \(f_\mathbf{a}(k(v),v,+)_l^1\), so that
Finally, we increase the value of \(g(f_\mathbf{a})(v,v,+)_l\) so that
This creates \(\sum _{i=1}^{k(v)} f_\mathbf{a}(i,v,+)_l^1\) new right half edges at v in \((K_{n+1}^{C})^\mathrm{dyn}\). We transfer the values of \(f_\mathbf{a}\) on the same number of new right half edges in \(G^\mathrm{dyn}\) created by the values \(f_\mathbf{a}(i,v,+)_l^1\) for \(1\le i\le k(v)\) to the new right half edges just created in \((K_{n+1}^{C})^\mathrm{dyn}\).
Note that the netflow of \(g(f_\mathbf{a})\) at v is \(k(v)1+a_v=v2\). Thus \(g(f_\mathbf{a})\) is a dynamic integer flow on \(K_{n+1}^C\) with netflow vector \((0,0,1,2,\ldots ,n1)\).
It is not hard to check that the map \(f_\mathbf{a}\mapsto g(f_\mathbf{a})\) is invertible. We now explain how to recover the vector \(\mathbf{a}=(0,a_2,a_3,\ldots ,a_{n+1})\) from \(g(f_\mathbf{a})\). For each \(v\in [2,n+1]\), we find \(a_v\) as follows. As before, \(k(v)=v1a_v\). By (3.4), (3.5), and (3.6), we have
Thus
On the other hand, by (3.4) and (3.6), we have
By (3.7) and (3.8), we obtain that k(v) is the unique integer t satisfying
Therefore, we can recover \(a_v=v1k(v)\) from \(g(f_\mathbf{a})\). Once \(\mathbf{a}\) is obtained, it is easy to recover \(f_\mathbf{a}\) from \(g(f_\mathbf{a})\). This is a desired bijection and the proof is completed. \(\square \)
Example 3.7
We give here a simple example of this construction. If \({\mathbf a}=(0,\ldots ,0)\), the graph G has edges \((i,i+1,)\), \((i,j,+)\), \((i,j,+)^1\) for \(1\le i<j \le n+1\). The unique dynamic flow is such that the edges \((i,j,+)\), \((i,j,+)^1\) become half edges \((i,j,+)_l\), \((i,j,+)_l^1\) and \((i,j,+)_r\), \((i,j,+)_r^1\). Every (half) edge e has flow \(f_{{\mathbf {a}}}(e)=0\). The corresponding dynamic flow on \(K_{n+1}^C\) is such that each (half) edge \(e=(i,j,+)_l\), \((i,j,+)_r\), or \((i,j,)\) has flow \(g(f_{{\mathbf {a}}})(e)=0\) for \(1\le i<j \le n+1\). The half edges \((v,v,+)_l\) for \(2\le v\le n+1\) are such that \(g(f_{{\mathbf {a}}})(v,v,+)_l=v2\) and the half edges \((v,v,+)_l^i\) have flow \(g(f_{{\mathbf {a}}})(v,v,+)_r^i=0\) for \(1\le i\le v1\).
By Lemmas 3.5 and 3.6 we can express the normalized volume of \(CRYC_{n+1}\) as a dynamic Kostant partition function.
Theorem 3.8
We have
We finally write \(K_{K_{n+1}^C}^\mathrm{dyn}(0,0,1,2,\ldots ,n1)\) as a constant term identity:
Proposition 3.9
We have
Proof
By Proposition 2.3 we get that
Then by plugging in \(x_1=x_2=0\) and relabeling the variables \(x_m\mapsto x_{m2}\) gives:
The above equation is equivalent to the desired expression:
\(\square \)
Proofs of Conjectures 1.2 and 1.3
In this section we prove Conjecture 1.3 and give a detailed proof of Zeilberger’s theorem, formerly Conjecture 1.2. We begin by recalling Zeilberger’s approach via the Morris’ identity for proving the volume formula of \(CRY_n\) [9]. See [2] for a complete proof of Lemma 4.1.
Lemma 4.1
(Morris’ identity, [9]) For nonnegative integers a, b and a positive half integer c, we have
In [9] Zeilberger proved the volume formula for \(CRY_n\) by showing that, when we set \(a=2,b=0,c=1/2\) in (4.1), we have
Using (4.1), we will prove the following theorem.
Theorem 4.2
For a nonnegative integer a and a positive half integer c, we have
Before proving Theorem 4.2 we show how this theorem implies Conjectures 1.2 and 1.3.
Proof of Conjecture 1.2 If \(a=2,b=0,c=1/2\) in Theorem 4.2, we have
Since
the right hand side of (4.3) is equal to
where (4.2) is used for the last equation. Thus Conjecture 1.2 follows from (3.1). \(\square \)
Proof of Conjecture 1.3 If \(a=2,b=1,c=1/2\) in Theorem 4.2, we have
where (4.2) is used for the last equation. Thus Conjecture 1.3 follows from Theorem 3.2. \(\square \)
For the rest of this section we prove Theorem 4.2. The idea is to change constant terms into contour integrals and consider several changes of variables.
For a function f(z) with a Laurent series expansion at z, we denote by \({\text {CT}}_z f(z)\) the constant term of the Laurent expansion of f(z) at 0. In other words, if \(f(z)=\sum _{n=\infty }^\infty a_n z^n\), then \({\text {CT}}_z f(z) = a_0\). By Cauchy’s integral formula, if f(z) has a Laurent series expansion at 0, we have
where C is the circle \(\{z: z=\epsilon \}\) oriented counterclockwise for a real number \(\epsilon >0\) such that f(z) is holomorphic inside C except 0. Thus (4.1) can be rewritten as
where \(C_j\) is the circle \(\{z: z=j\epsilon \}\) oriented counterclockwise for a real number \(0<\epsilon <\frac{1}{n}\). In (4.5) a can be any positive real number.
Proof of Theorem 4.2 Let L denote the left hand side of the identity in the theorem, i.e.,
By (4.4), L is equal to
where \(C_j\) is the circle \(\{z: z=j\epsilon \}\) oriented counterclockwise for a real number \(0<\epsilon <\frac{1}{2n}\). We will express L as a constant multiple of the contour integral in (4.5) by using changes of variable 3 times.
Using the change of variables \(x_j = \frac{1z_j}{2}\) or \(z_j=12x_j\) to the above integral, we have
where \(C'_j\) is the circle \(\{z: z1=2j\epsilon \}\) oriented counterclockwise.
Using the change of variables \(z_j^2 = y_j\) or \(z_j=y_j^{1/2}\), we have
where \(C''_j\) is the circle \(\{z: z1=4j\epsilon \}\) oriented counterclockwise. This is because if \(C_j'\) is parametrized by \(1+2j\epsilon e^{i\theta }\) for \(0\le \theta \le 2\pi \), then the image of \(C_j'\) under the map \(z\mapsto z^2\) can be parametrized by \(1+4j\epsilon e^{i\theta } + 4j^2\epsilon ^2 e^{2i\theta }\) for \(0\le \theta \le 2\pi \). Since we can make \(\epsilon \) arbitrarily close to 0, we can deform this image to the circle \(C_j''\) without changing the value of the contour integral.
Using the change of variables \(t_j = 1y_j\), we have
where \(C'''_j\) is the circle \(\{z: z=4j\epsilon \}\) oriented counterclockwise. Using (4.5) we finish the proof. \(\square \)
Conclusion
The link between the Kostant partition function of graphs and the volume of their flow polytopes has been established a decade ago [1]. A generalization of this correspondence via dynamic Kostant partition functions was demonstrated for loopless signed graphs in [6]. In this paper we showed among others that dynamic Kostant partition functions can be used for certain signed graph with loops to obtain the volume of their associated flow polytope with netflow vector \((2,0, \ldots , 0)\) analogously to the loopless case. This is not true for all signed graphs with loops. We leave as an open problem the classification of signed graphs with loops where the volume of the associated flow polytope with netflow vector \((2,0, \ldots , 0)\) is equal to the corresponding dynamic Kostant partition function evaluation. More broadly, is there an appealing further generalization of the Kostant partition function that would work for calculating the volume of the flow polytope of any signed graph (and netflow vector)? Finally, it would be very interesting to gain a unified insight into which flow polytopes have nice product formulas for their volume and why. See this paper and [4,5,6,7] for examples of such nice formulas.
References
 1.
Baldoni, W., Vergne, M.: Kostant partitions functions and flow polytopes. Transform. Groups 13(3–4), 447–469 (2008)
 2.
BaldoniSilva, V., Vergne, M.: Morris identities and the total residue for a system of type \(A_r\). In: Delorme, P., Vergne, M. (eds.) Noncommutative Harmonic Analysis. Progress in Mathematics, vol. 220, pp. 1–19. Birkhäuser, Boston (2004)
 3.
Chan, C.S., Robbins, D.P., Yuen, D.S.: On the volume of a certain polytope. Exp. Math. 9(1), 91–99 (2000)
 4.
Corteel, S., Kim, J.S., Mészáros, K.: Flow polytopes with Catalan volumes. C. R. Acad. Sci. Paris 355(3), 248–259 (2017)
 5.
Mészáros, K.: Product formulas for volumes of flow polytopes. Proc. Am. Math. Soc. 143(3), 937–954 (2015)
 6.
Mészáros, K., Morales, A.H.: Flow polytopes of signed graphs and the Kostant partition function. Int. Math. Res. Not. IMRN 2015(3), 830–871 (2015)
 7.
Mészáros, K., Morales, A.H., Rhoades, B.: The polytope of Tesler matrices. Selecta Math. (N.S.) 23(1), 425–454 (2017)
 8.
Morris, W.G.: Constant term identities for finite and affine root systems: conjectures and theorems. PhD thesis, University of WisconsinMadison (1982)
 9.
Zeilberger, D.: Proof of a conjecture of Chan, Robbins, and Yuen. Electron. Trans. Numer. Anal. 9, 147–148 (1999)
 10.
Zeilberger, D.: Sketch of a proof of an intriguing conjecture of Karola Meszaros and Alejandro Morales regarding the volume of the \(D_n\) analog of the Chan–Robbins–Yuen Polytope (or: The Morris–Selberg constant term identity strikes again!). arXiv:1407.2829 (2014)
Acknowledgements
This work started during a stay of the second and third authors at the Université Paris 7 Diderot. The third author is grateful for the invitation from, support of and hospitality of the Université Paris 7. Corteel is partially supported by the project Emergences “Combinatoire à Paris”. Kim is partially supported by the National Research Foundation of Korea (NRF) Grants (NRF2016R1D1A1A09917506) and (NRF2016R1A5A1008055). Mészáros is partially supported by a National Science Foundation Grant (DMS 1501059) as well as by a von Neumann Fellowship at the IAS funded by the Fund for Mathematics and the Friends of the Institute for Advanced Study. The authors thank the anonymous referees for their comments which improved the exposition of this paper. We thank Alejandro Morales for kindly giving permission to use some figures from [6].
Author information
Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Editor in Charge: Kenneth Clarkson
Rights and permissions
About this article
Cite this article
Corteel, S., Kim, J.S. & Mészáros, K. Volumes of Generalized Chan–Robbins–Yuen Polytopes. Discrete Comput Geom 65, 510–530 (2021). https://doi.org/10.1007/s00454019000661
Received:
Revised:
Accepted:
Published:
Issue Date:
Keywords
 Flow polytope
 Kostant partition function
 Constant term identity
Mathematics Subject Classification
 52A38