1 Introduction

A polytope is the convex hull of a finite set of points in a real Euclidean space. Its combinatorial type is given by its poset of faces (subsets of the polytope maximized by linear functionals, ordered by inclusion). In the preface of his now classical book in polytope theory [11], Grünbaum traces the problem of enumerating the number of combinatorial types of polytopes back to Euler, and cites its difficulty as one of the main reasons for the “decline in the interest in convex polytopes” at the beginning of the XXth century.

These efforts were concentrated in the case of 3-dimensional polytopes, starting with many contributions by Cayley and Kirkman, according to Grünbaum’s historical remarks in [11, Chapter 13.6]. Thanks to Steinitz’s Theorem, which gives a correspondence between combinatorial types of 3-dimensional polytopes and 3-connected planar graphs, nowadays we have quite precise knowledge on the number of 3-polytopes with n vertices [5, 21] and the distribution of many combinatorial parameters [4].

In contrast, for higher-dimensional polytopes the problem is still very far from being solved. One of the main difficulties lies in the lack of a combinatorial characterization of face lattices of polytopes. Mnëv’s Universality Theorem [16] and its extension by Richter-Gebert [22], imply that deciding whether a poset is the face lattice of a 4-dimensional polytope is computationally hard (\(\exists {\mathbb {R}}\)-complete). It seems thus that a simple combinatorial characterization is impossible, which is one of the intrinsic difficulties of the enumeration problem. The problem remains hard even when restricting to the “generic” case of simplicial polytopes, where all faces except the whole polytope are simplices (equivalently, polytopes whose combinatorial type does not change when the vertices are perturbed), see [1].

However, the mere number of polytopes is relatively small. In 1986 Goodman and Pollack [10] showed that the number of (labeled) combinatorially different simplicial d-polytopes with n vertices is bounded by \((n!)^{c_d}\) for some constant \(c_d\) depending solely on d, and Alon [2] proved that this upper bound is valid for non-necessarily simplicial polytopes too. This contrasts with the number of combinatorially different simplicial \((d-1)\)-spheres with n vertices, which grows at least as \(e^{\Omega (n^{\left\lfloor {d/2} \right\rfloor })}\) [12, 17].

In 1982 Shemer [23] had devised constructions producing about \( (n!)^{\frac{1}{2} \pm o(1)}\) different simplicial polytopes. This matches the upper bound, except for the fact that the constant \(c_d\) in the upper bound of Goodman and Pollack and Alon is \({ d^2\pm o(1)}\), much bigger than the 1/2 obtained by Shemer. The construction was greatly improved by Padrol [18] (see also [8]) who showed that there are at least \((n!)^{\left\lfloor {d/2} \right\rfloor \pm o(1)}\) (labeled) neighborly polytopes. There are alternative constructions that give these many different combinatorial types of polytopes, which led Nevo and Padrol to ask whether the number of d-dimensional polytopes with n vertices and m facets was bounded above by \(m^{n+o(n)}\) (unpublished). As the maximal number of facets of a d-polytope with n vertices is \(O(n^{\left\lfloor {d/2} \right\rfloor })\) by the Upper Bound Theorem [14], this would imply that the bound of \((n!)^{\left\lfloor {d/2} \right\rfloor \pm o(1)}\) is asymptotically tight.

The main result in this paper gives a negative answer to this question, by essentially doubling the exponent of n! in the construction of Padrol:

Theorem 1.1

The number of different labeled combinatorial types of d-polytopes with n vertices for fixed \(d>3\) and n growing to infinity is at least \((n!)^{d-2 \pm o(1)}\).

All the polytopes that we construct are \(\lfloor (d-1)/2\rfloor \)-neighborly. That is, they are neighborly for odd d, but only \(\left( \frac{d}{2}-1\right) \)-neighborly if d is even. In fact, for even d the number of neighborly polytopes in our family is at most the same as in the family constructed by Padrol. See Remark 4.12 for more details.

Enumerating polytopes is intimately tied to enumerating regular triangulations of point configurations; that is, triangulations arising as lower envelopes of polytopes of one dimension more. In fact, the number of (combinatorial types of) simplicial d-polytopes with n vertices coincides with that of \((d-1)\)-dimensional regular triangulations with \(n-1\) vertices. See the beginning of Sect. 4 for details on this relation. In the same vein, counting all triangulations, regular or not, is related to counting simplicial spheres.

In particular, the Goodman-Pollack bound implies the same upper bound of \((n!)^{d^2\pm o(1)}\) for the number of regular triangulations, while the construction of Kalai [12] can be adapted to derive that the cyclic d-polytope with n vertices has at least \(e^{\Omega (n^{\left\lfloor {d/2} \right\rfloor })}\) triangulations in total [6, Theorem 6.1.2].

Observe that the upper bound is for the total number of (combinatorially different) regular triangulations of all polytopes (for fixed parameters n and d), while the construction of Kalai counts triangulations of a single polytope. For regular triangulations of a single polytope, it is shown in [6, Theorem 7.2.10] that the Cartesian product of a cyclic 3-polytope with n vertices and a segment has at least \((n/2)! = (n!)^{1/2 \pm o(1)}\) regular triangulations. The second result in this paper is a significant improvement of this lower bound, showing for example that:

Theorem 1.2

For fixed \(d\ge 3\) and n going to infinity, there are realizations of the cyclic d-polytope with n vertices having at least

$$\begin{aligned} (n!)^{ \left\lfloor {\frac{d-1}{2}}\right\rfloor \pm o(1)} \end{aligned}$$

regular triangulations.

It has to be noted that the total number of triangulations of a polytope (or point configuration) depends only on its oriented matroid (another combinatorial invariant that is finer than the combinatorial type), while the number of regular triangulations varies for different realizations of the same oriented matroid.

Apart of its intrinsic interest, Theorem 1.2 is an intermediate step for Theorem 1.1; the proof of Theorem 1.1 consists in showing that all of the many polytopes constructed by Padrol [18] admit realizations with the many regular triangulations stated in Theorem 1.2.

This makes our proof of Theorem 1.1 more geometric, as opposed to combinatorial, than previous constructions of “many” polytopes. In fact, the combinatorial types of polytopes obtained with our method may depend on choices made along the construction, for example via the choice of realizations used for the Padrol polytopes, which affects what triangulations of them are regular, or via the particular lifting vectors used for the regular triangulations.

2 Definitions and notation

We will follow [24] and [6] for the terminology concerning convex polytopes, point configurations, and triangulations, and we refer the reader to these references for background on these topics.

A point configuration is an ordered sequence \(P =(p _1, \ldots , p _n)\in {\mathbb {R}}^{d\times n}\). We formally consider P a sequence rather than a set since the ordering of the points \(p_i\) is sometimes important, but we will slightly abuse notation and write things like \(p_i\in P\), or call the points \(p_i\) the elements of P. In this paper we will usually assume that the points in P are distinct and in convex position, where the latter means that all of them are vertices of the polytope \(\text {conv}(P)\). We say that P is k-neighborly if any subset of k points is the vertex set of a face of \(\text {conv}(P)\), and just neighborly if it is \(\left\lfloor {\frac{d}{2}}\right\rfloor \)-neighborly; the latter makes sense since the simplex is the only d-polytope that is more than \(\left\lfloor {\frac{d}{2}}\right\rfloor \)-neighborly.

A triangulation T of P is a simplicial complex on a subset of [n] such that

  1. (i)

    \({\bigcup _{F\in T}} \text { conv}(\left\{ {p_i}|{i\in F}\right\} ) = \text {conv}(P)\),

  2. (ii)

    for all \(F, F'\in T\), \(\text {conv}(\left\{ {p_i}|{i\in F}\right\} )\cap \text {conv}\big (\left\{ {p_i}|{i\in F'}\right\} \big )\) is a common face of \(\text {conv}(\left\{ {p_i}|{i\in F}\right\} )\) and \(\text {conv}\big (\left\{ {p_i}|{i\in F'}\right\} \big )\).

More generally, a subdivision of P is a collection T of subsets of [n], closed under taking faces (if \(F\in T\) then the set of indices of points in P in a face of \(\text {conv}(\left\{ {p_i}|{i\in F}\right\} )\) must be in T too), that fulfills the two conditions above. See [6, Sec. 2.3] for details.

A subdivision T of P is regular if there is a lifting vector \( w \in {\mathbb {R}}^{[n]}\) such that for any \(F\in T\), \(\text {conv}(\left\{ {(p_i, w(i))}|{i\in F}\right\} )\) is a lower face of \(\text {conv}(\left\{ {(p_i, w(i))}|{i\in [n]}\right\} )\). Here, we call a face F of a polytope P in \({\mathbb {R}}^{d+1}\) lower if its outer normal cone contains a vector with last coordinate negative. That is, if there is a functional \(c\in {\mathbb {R}}^{d+1}\) with \(c_{d+1}<0\) that is maximized on F. We denote \({\mathcal {T}}(P)\) the set of regular triangulations of P. For a triangulation T, we call cells its maximal faces. (These are sometimes called facets, but we reserve the word facet for facets of a polytope).

A point \(q \notin P\) is said to be in general position with respect to P if no hyperplane spanned by points of P contains q, and in very general position with respect to P if moreover no small perturbation of q changes \({\mathcal {T}}(P\cup \{q\})\). An argument similar to that in [3, Part 2] shows that configurations in very general position form a dense open subset of the space of all point configurations.

Two points \(p_i, p_j\in P\) are said to be triangulation-inseparable in P if we have that

  1. (i)

    \({\mathcal {T}}(P\setminus \{p_i\}) = {\mathcal {T}}(P\setminus \{p_j\})\) up to relabeling j to i, and

  2. (ii)

    for any \(T\in {\mathcal {T}}(P\setminus \{p_i\})\) there is a lifting vector \(w\in {\mathbb {R}}^{[n]}\) which restricted to both \(P\setminus \{p_i\}\) and \(P\setminus \{p_j\}\) produces T as a regular triangulation (up to relabeling j to i).

Let p be a vertex of \(\text {conv}(P)\). We define P/p to be any point configuration obtained as the intersection of the half-lines positively spanned by \(\left\{ {p'-p}|{p'\in P{\setminus }\{p\}}\right\} \) with an affine hyperplane that does not contain p and intersects all these half-lines. Following [6, Definition 4.2.9] we call P/p the contraction of P at the point p. All the configurations that can be obtained as P/p have the same triangulations and the same regular triangulations. In fact, regular triangulations of P/p are exactly the links at p of regular triangulations of P [6, Lemmas 4.2.20 and 4.2.22]. Here, the link of a triangulation T at a point \(p_i\), which we denote \(T/p_i\), is defined as

$$\begin{aligned} T/p_i:=\left\{ {F\subset [n]\setminus \{i\}}|{F\cup \{i\} \in T}\right\} . \end{aligned}$$

3 Many regular triangulations

The main idea of our construction of configurations with a large number of regular triangulations is to split a point into two triangulation-inseparable points and to estimate the number of regular triangulations generated after this operation. This is inspired by the study of triangulations of cyclic polytopes done in [19, 20].

First, we show that we can indeed obtain triangulation-inseparable pairs by such a splitting.

Lemma 3.1

Let P be a point configuration in \({\mathbb {R}}^d\) and \(p\in P\) in very general position with respect to \(P\setminus \{p\}\). Then there is an \(\varepsilon >0\) such that p and \(p'\) are triangulation-inseparable in \(P\cup \{p'\}\) for any \(p'\in B(p, \varepsilon )\) in very general position with respect to P. Here \(B(p, \varepsilon )\) denotes the ball of radius \(\varepsilon \) centered at p.

Proof

Up to relabeling, we can assume that \(P=(p_1, \ldots , p_n)\) and \(p=p_n\). By definition of being in very general position with respect to \(P\setminus \{p_n\}\), there exists some \(\eta >0\) such that \({\mathcal {T}}(P)={\mathcal {T}}(P\setminus \{p_n\}\cup \{p'\})\) for all \(p'\in B(p_n, \eta )\). In particular, any such a \(p'\) fulfills the first condition for being triangulation-inseparable with p.

For each regular triangulation \(T\in {\mathcal {T}}(P)\) we can choose a specific lifting vector \(w_{T}\in {\mathbb {R}}^{[n]}\) that induces T, and choose it so that the point \((p_n, w_{T}(n))\) is still in general position with respect to the lifted configuration \(\left\{ {(p_i, w_{T}(i))}|{i\in [n-1]}\right\} \). Hence there is some \(0<\varepsilon _T< \eta \) such that \(\left\{ {(p_i, w_{T}(i))}|{i\in [n]}\right\} \) and \(\left\{ {(p_i, w_{T}(i))}|{i\in [n-1]}\right\} \cup \{(p', w_{T}(n))\}\) have the same faces, for all \(p'\in B(p_n, \varepsilon _T, \)). This means that \(w_T\) induces T as a regular triangulation of \(P\setminus \{p_n\}\cup \{p'\}\) for all \(p'\in B(p_n, \varepsilon _{T})\).

If we take \(\varepsilon ={\min _{T\in {\mathcal {T}}(P)} \varepsilon _T}\), we obtain that p and \(p'\) are triangulation-inseparable in \(P\cup \{p'\}\) for all \(p'\in B(p, \varepsilon )\). \(\square \)

The following result is our main technical lemma, which provides lower bounds for the number of triangulations under the presence of triangulation-inseparable points. The main ideas are illustrated in Example 3.3.

Lemma 3.2

Let P be a point configuration in \({\mathbb {R}}^d\) and let \(p\in P\) be a vertex of \(\text {conv}(P)\) that is in very general position with respect to \(P\setminus \{p\}\). We denote C the minimum number of cells in a regular triangulation of P/p.

Let \(p'\) be such that p and \(p'\) are triangulation-inseparable in \(P\cup \{p'\}\), \(p'\) is in very general position with respect to P, and \(p'\) is a vertex of \(\text {conv}(P\cup \{p'\})\). Then we have

$$\begin{aligned} |{\mathcal {T}}(P\cup \{p'\})| \ge |{\mathcal {T}}(P)| \times (C+1). \end{aligned}$$

Proof

We denote \(P'\) the point configuration \(P\setminus \{p\}\cup \{p'\}\).

Let us call a regular triangulation \({\tilde{T}}\) of \(P\cup P'\) good if there is a regular triangulation T of P such that T and \({\tilde{T}}\) coincide when restricted to \(P\setminus \{p\}\). Since a regular triangulation of P is determined by its restriction to \(P\setminus \{p\}\), this definition implicitly gives a map

$$\begin{aligned} \phi : \{\hbox { good triangulations of}\ P\cup P'\} \rightarrow {\mathcal {T}}(P). \end{aligned}$$

We claim that for every \(T\in {\mathcal {T}}(P)\) we have

$$\begin{aligned} |\phi ^{-1}(T)| \ge c(T/p)+1 \ge C+1, \end{aligned}$$

where we denote by \(c(L)\) (and call size of L) the number of cells of a pure polyhedral complex L. This formula implies the statement.

Let T be a regular triangulation of P. To avoid confusion we denote by \(T'\) the triangulation T but considered as a triangulation of \(P'\). Let \(w\in {\mathbb {R}}^{P\cup P'}\) be a lifting vector producing T and \(T'\) when restricted to P and \(P'\), which exists because p and \(p'\) are triangulation-inseparable. We will assume moreover a genericity condition on w that will be detailed later at item (8).

For each \(t\in {\mathbb {R}}\) we consider the following lifting vector \(w_t\in {\mathbb {R}}^{P\cup P'}\), which varies continuously with t:

  • For \(q\in P\setminus \{p\}\), \(w_t(q):=w(q)\) is independent of t.

  • If \(t\le 0\) then \(w_t(p):=w(p)\) and \(w_t(p'):=w(p')-t\).

  • If \(t\ge 0\) then \(w_t(p):=w(p)+t\) and \(w_t(p'):=w(p')\).

Let \(T_t\) be the regular subdivision of \(P\cup P'\) produced by \(w_t\). We have that:

  1. (1)

    The restriction of \(T_t\) to \(P\setminus \{p\}\) coincides with the restriction of T: Indeed, if \(\sigma \) is a face of T contained in \(P\setminus \{p\}\) then w, and hence any \(w_t\), sends all of \(P\cup P'\setminus \sigma \) above some supporting hyperplane of the lift of \(\sigma \); hence, \(\sigma \) is a face in \(T_t\). Conversely, suppose \(\sigma \) is a cell in \(T_t\) for some t that is contained in \(P\setminus \{p\}\). If \(t\le 0\) then \(w_t\), and hence w, sends \(P\setminus \sigma \) above the hyperplane. Hence, \(\sigma \) is a cell of T. If \(t\ge 0\) then \(w_t\), and hence w, sends \(P'\setminus \sigma \) above the hyperplane. Hence, \(\sigma \) is a cell of \(T'\), which restricted to \(P\setminus \{p\}\) coincides with T.

  2. (2)

    If \(t\le 0\) then for every cell \(\sigma \in T_t\), \(\sigma \setminus \{p'\}\) is a face in T: This is because for \(t\le 0\) we have that \(w_t\) restricted to P equals w, which produces T as a regular triangulation of P.

  3. (3)

    If \(t\ge 0\) then for every cell \(\sigma \in T_t\), \(\sigma \setminus \{p\}\) is a face in \(T'\): Same proof.

  4. (4)

    If \(T_t\) is not a triangulation for a certain t then every non-simplicial cell is of the form \(\tau \cup \{p,p'\}\) where \(\tau \) is a cell of T/p. Let \(\sigma \) be a non-simplicial cell of \(T_t\). By claims (2) and (3), \(\sigma \) uses both of p and \(p'\) and either \(\sigma \setminus \{p'\}\) is in T or \(\sigma \setminus \{p\}\) is in \(T'\). Hence, \(\sigma \setminus \{p,p'\}\) is in \(T/p=T'/p'\).

  5. (5)

    Each such \(\tau \cup \{p,p'\}\) appears as a cell for at most one value of t:

    If \(t\le 0\) then the value of t is fixed by the fact that \(w_t(p')=w(p')-t\) equals the height at which the lifted hyperplane containing \(\tau \cup \{p\}\) meets the vertical line \(\{p'\}\times {\mathbb {R}}\); same, changing p and \(p'\), if \(t\ge 0\). Thus, we at most have one value of t in \((-\infty ,0]\) and one in \([0,\infty )\). Moreover, there cannot be two values, one negative and one positive. Indeed, if \(\tau \cup \{p,p'\}\) is a cell of \(T_t\) for \(t<0\), then the point \((p', w(p'))\) is below the lifted hyperplane containing \(\tau \cup \{p\}\), so (pw(p)) is above the lifted hyperplane containing \(\tau \cup \{p'\}\) and there is no \(t'>0\) such that \(\tau \cup \{p,p'\}\) is a cell of \(T_{t'}\).

  6. (6)

    Assuming \(T_t\) is a triangulation, let \(L_t:= T_t/p {\setminus } p'\) and \(L'_t:= T_t/p' {\setminus } p\). \(L_t\) and \(L'_t\) are contained in T/p and they are complementary in the sense that their union equals T/p and their intersection is lower dimensional. \(L_t\) and \(L'_t\) are contained in \(T/p=T'/p'\) by properties (2) and (3). They are complementary because every cell \(\tau \in T/p\) needs to be joined to one and only one of p and \(p'\) to give a cell of \(T_t\).

  7. (7)

    In the limit when \(t\rightarrow -\infty \) we have that \(L_t=T/p\) (and hence \(L'_t\) is lower-dimensional) and in the limit \(t\rightarrow +\infty \) we have that \(L'_t=T/p\) (and hence \(L_t\) is lower-dimensional). In these limits, \(T_t\) equals the triangulation obtained by placing point \(p'\) (respectively p) in T (respectively in \(T'\)). This implies \(L_t=T/p\) (respectively \(L'_t=T/p\)).

  8. (8)

    We can take w sufficiently generic so that no \(T_t\) contains two different non-simplicial cells. Suppose that \((\tau _1, \tau _2)\) is a pair of cells in T/p such that \(\tau _1\cup \{p,p'\}\) and \(\tau _2\cup \{p,p'\}\) are in \(T_t\) for the same value of t. Let \(H_1\) and \(H_2\) be the two hyperplanes in \({\mathbb {R}}^{d+1}\) spanned by the lifts of \(\tau _1\cup \{p\}\) and \(\tau _2\cup \{p\}\) for that t. Our hypothesis implies that \(H_1\) and \(H_2\) intersect the vertical line \(\{p'\}\times {\mathbb {R}}\) at the same height (namely, at height \(w_t(p')\)). If this happens for a sufficiently generic choice of w then the intersection of \(H_1\) with \(\{p'\}\times {\mathbb {R}}\) does not change when slightly perturbing the heights of all points in \(\tau _1\setminus \tau _2\): This implies that this intersection point lies in the affine span of (the lifted) configuration \((\tau _1\cap \tau _2)\cup \{p\}\). Hence, \(p'\) lies in the affine span of (the original) \((\tau _1\cap \tau _2)\cup \{p\}\), and \(p'\) is not in general position.

  9. (9)

    If \(T_t\) is not a triangulation, and \(\varepsilon >0\) is small enough, then \(c(L_{t+\varepsilon }) =c(L_{t-\varepsilon })-1\) and \(c(L'_{t+\varepsilon }) =c(L'_{t-\varepsilon })+1\). There is a single cell of \(T_t\) of the form \(\tau \cup \{p,p'\}\). If s is in the neighborhood of t, all the cells of \(T_s\) not contained in \(\tau \cup \{p,p'\}\) remain unchanged because they are defined by an open condition on s. For \(s<t\), we have that \(\tau \cup \{p\}\) is a cell of \(T_s\) but \(\tau \cup \{p'\}\) is not, because \(p'\) is above the hyperplane spanned by \(\tau \cup \{p\}\). Similarly, for \(s>t\), we have that \(\tau \cup \{p\}\) is not a cell of \(T_s\) but \(\tau \cup \{p'\}\) is.

Claim (1) says that whenever \(T_t\) is a triangulation it is a good triangulation and it lies in the preimage of T. As we move t continuously from \(-\infty \) to \(+\infty \) there are finitely many values of t where \(T_t\) is not a triangulation, by claims (4) and (5). Of course, outside those values the triangulation \(T_t\) is constant, and claim (8) says that (if \(p'\) is in general position and w is generic) at those values the change in the triangulation is a geometric bistellar flip in a cell of the form \(\tau \cup \{p,p'\}\). This flip changes the numbers of cells of T/p contained in \(L_t\) and in \(L'_t\) by one unit, increasing \(L'_t\) and decreasing \(L_t\) as t increases, by (9). By property (7) the size of \(L'_t\) grows from zero to \(c(T/p)\) as t goes from \(-\infty \) to \(+\infty \), so we encounter at least \(c(T/p)+1\) different good triangulations in the preimage of T along the process. \(\square \)

Fig. 1
figure 1

A two-dimensional illustration of the proof of Lemma 3.2. In the left picture, a triangulation of a hexagon. In the rest, the vertex p is split into \(\{p,p'\}\), and increasing values of the parameter t induce different good triangulations of the heptagon \(P\cup P'\)

Example 3.3

To illustrate Lemma 3.2, we use a two-dimensional example (reminiscent of some classical proofs of the recurrence relation for Catalan numbers). It has the advantage of clarity, as it can be easily depicted, see Fig. 1.

When a point p is split into \(\{p,p'\}\), the facets of the polytope that were incident to p are divided into two families, those that remain facets after the splitting, and those that replace p by \(p'\). Moreover, new facets containing both p and \(p'\) are created. Similarly, the cells incident to p in a triangulation are divided into two families, those containing p and those containing \(p'\), and new cells containing both p and \(p'\) are created. This can be read in the link T/p, which is divided into two parts, \(L_t\) and \(L'_t\), without full dimensional intersection: We have that \(F\cup \{p\}\in T_t\) whenever \(F\in L_t\), \(F\cup \{p'\}\in T_t\) whenever \(F\in L'_t\), and that \(F\cup \{p,p'\}\in T_t\) whenever \(F\in L_t\cap L'_t\).

When \(t=-\infty \), we have that \(L_t\cap L'_t=L'_t\), and it coincides with the boundary faces of T/p that are incident to \(p'\) in \(\text {conv}(P\cup \{p'\})\). As the values of t increase, \(L_t\cap L'_t\) flips successively through each of the simplices of T/p, giving rise to different triangulations. At the end, when \(t=\infty \), we have that \(L_t\cap L'_t=L_t\), and it coincides with the boundary faces of T/p that are incident to p in \(\text {conv}(P\cup \{p'\})\). The number of different triangulations thus created is therefore one more than the number of cells in the link T/p.

There are some important differences that only appear in higher dimensions. First of all, all triangulations of a polygon are regular, while starting in dimension 3 there are polytopes with non-regular triangulations. Moreover, in dimension two there is only one way to go from \(T_{-\infty }\) to \(T_{\infty }\) since the link T/p is one-dimensional, while in higher dimensions there are usually several different paths between these two triangulations. The \(c(T/p)+1\) triangulations \(T_t\) that we see as t ranges from \(-\infty \) to \(\infty \) will depend on the relative position of p and \(p'\) and the choice of the lifting vector w. Finally, in a polygon, the vertex figure is just a segment (with interior points) and the number C in the statement is always 1, so the lemma does not give an interesting bound in that case.

Without any further constraint this lemma is not very useful, as \(\text {conv}(P/p)\) could be a simplex and \(C=1\). However, a lower bound on C can be proved if we have knowledge on the neighborliness of P/p, thanks to the following lemma.

Recall that for a pure d-dimensional simplicial complex \({\mathcal {C}}\) and \(0\le j \le d+1\) we denote

$$\begin{aligned}h_j({\mathcal {C}})=\sum _{k=0}^j (-1)^{j-k} \left( {\begin{array}{c}d+1-k\\ d+1-j\end{array}}\right) f_{k-1}({\mathcal {C}}),\end{aligned}$$

where \(f_k({\mathcal {C}})\) is the number of faces of \({\mathcal {C}}\) of dimension k. The numbers \(h_0({\mathcal {C}}), \dots , h_{d+1}({\mathcal {C}})\), collectively called the h-vector of \({\mathcal {C}}\), are known to be nonnegative in certain special cases, which include \({\mathcal {C}}\) being a topological sphere; see [24, Chapter 8].

Lemma 3.4

Let \(d>2\) and \(1\le k \le d+1\). Let Q be a d-dimensional simplicial polytope on n vertices. Then the number of cells in any triangulation of Q is bounded from below by \(h_k(\partial Q)\).

In particular, if Q is k-neighborly for \(1\le k \le \left\lfloor {\frac{d}{2}} \right\rfloor \), then this number is bounded by:

$$\begin{aligned}h_k(\partial Q) =\left( {\begin{array}{c}n-d-1+k\\ k\end{array}}\right) .\end{aligned}$$

Proof

Let T be a triangulation of Q. We want a bound on \(f_{d}(T)\).

We use the following result from McMullen and Walkup [15, Thm. 2], cited in a modern version in [6, Thm. 2.6.11]. For any \(0\le j \le d\),

$$\begin{aligned}h_j(\partial Q)-h_{j-1}(\partial Q) = h_j(T)-h_{d+1-j}(T), \end{aligned}$$

where \(\partial Q\) is the boundary simplicial complex of Q, of dimension \(d-1\), and we take \(h_{-1}(\partial Q)=0\).

Then we have:

$$\begin{aligned} f_{d}(T)&= \sum _{l=0}^{d+1}h_l(T)\\&= h_k(\partial Q)-h_{-1}(\partial Q) +\sum _{j=0}^k h_{d+1-j}(T)+\sum _{l=k+1}^{d+1} h_l(T)\\&\ge h_k(\partial Q). \end{aligned}$$

The first h-coefficients of neighborly polytopes are well known, as they achieve the maximum allowed by the Upper Bound Theorem ( [14, Lemma 2], see also [24, Lemma 8.26]). In particular we have:

$$\begin{aligned} h_k(\partial Q) = \left( {\begin{array}{c}n-d-1+k\\ k\end{array}}\right) . \end{aligned}$$

\(\square \)

Remark 3.5

From the proof one derives that for \(1\le k \le \left\lfloor {\frac{d}{2}} \right\rfloor \), a triangulation T has exactly \(h_{k}(\partial (Q))\) cells if, and only if, \(h_j(T)=0\) for every \(j\ge k+1\). This, in turn, is equivalent to all interior cells of T having dimension at least \(d-k\).

As a consequence of the previous two lemmas we have:

Theorem 3.6

Let \(P=(p_1, \ldots , p_{n-1}, q)\) be a configuration of n points in very general convex position in \({\mathbb {R}}^d\) such that:

  1. (i)

    for every \(d+1\le i \le n-1\), \(p_{i}\) and q are triangulation-inseparable in \(P_i:=(p_1, \ldots , p_i, q)\), and

  2. (ii)

    the point configuration P/q is k-neighborly.

Then

$$\begin{aligned}|{\mathcal {T}}(P)| \ge \prod _{m=d}^{n-1} \left( {\begin{array}{c}m-d+k\\ k\end{array}}\right) ,\end{aligned}$$

which is of order \((n!)^{k\pm o(1)}\) for fixed k and d.

Proof

For \(k=0\) the statement is void, therefore we assume that \(k\ge 1\). We proceed by induction on n. In the base case \(n=d+1\) we have that \(P=P_d\) is a simplex, with only one regular triangulation, so the result is trivial.

Assume that the theorem is true for \(n=m-1\). Note that \(P_{m-1}\) satisfies the hypotheses of the theorem. Indeed, the first condition is automatic and the second follows because \(P_{m} /q\) is a subset of P/q, and a subset of a k-neighborly point configuration is still k-neighborly.

Now, since \(p_{m}\) and q are triangulation-inseparable in \(P_{m}\) by the first hypothesis, we can apply Lemma 3.2 to deduce that

$$\begin{aligned}|{\mathcal {T}}(P_{m})| \ge |{\mathcal {T}}(P_{m-1})|\times (C_m+1),\end{aligned}$$

where \(C_m\) is the minimum number of cells in a regular triangulation of \(P_{m} /q=(P /q){\setminus }\{p_{m+1}, \ldots , p_{n-1}\}\). And since \(P_{m} /q\) is a k-neighborly \((d-1)\)-dimensional simplicial polytope on m vertices (all points are vertices since it is at least 1-neighborly), Lemma 3.4 implies that \(C_m\ge \left( {\begin{array}{c}m-d+k\\ k\end{array}}\right) \).

At the end, using the induction hypothesis we conclude that:

$$\begin{aligned} |{\mathcal {T}}(P)|&\ge \prod _{m=d}^{n-1} \left( {\begin{array}{c}m-d+k\\ k\end{array}}\right) \\&\ge \prod _{m=d}^{n-1} \left( \frac{m-d+k}{k}\right) ^{k}\\&= \left( (n-d-1+k)!\right) ^{k}\times \frac{1}{\left( (k-1)! k^{(n-d)}\right) ^{k}} \\&= \exp (kn\log n + o(n \log n)). \end{aligned}$$

\(\square \)

The combination of these results provides Theorem 1.2: a lower bound of order \((n!)^{\left\lfloor {\frac{d-1}{2}}\right\rfloor \pm o(1)}\) for the number of regular triangulations of cyclic polytopes in certain realizations. Recall that the cyclic d-polytope with n vertices is a neighborly simplicial polytope that can be realized as the convex hull of n arbitrary points \(p_1,\dots ,p_n\) along the moment curve \(\left\{ {(t,t^2,\dots ,t^d)\in {\mathbb {R}}^d}|{t\in {\mathbb {R}}}\right\} \). See for example [24] for details.

Proof of Theorem 1.2

We first fix the last vertex \(q=p_n\) on the moment curve and then define the points \(p_1, \ldots , p_{n-1}\) consecutively. At step i, we slide the point \(p_i\) along the moment curve until it is close enough to \(p_n\) so that Lemma 3.1 implies them to be triangulation-inseparable, after a perturbation of \(p_i\) into very general position if needed. For \(d\ge 3\), the contraction of the last vertex in a cyclic polytope with n vertices is a \((d-1)\)-dimensional cyclic polytope with \(n-1\) vertices, and in particular \(\left\lfloor {\frac{d-1}{2}}\right\rfloor \)-neighborly. Hence Theorem 3.6 gives the result.

It is not clear to us whether cyclic polytopes (or neighborly polytopes in general) do indeed have more triangulations than “typical” simplicial polytopes of the same dimension and number of vertices. In fact, in dimension two quite the opposite is true: the convex n-gon minimizes the number of triangulations and of regular triangulations among point configurations of n points in general position [9, 13].

4 Many polytopes

Let us call polytopal (simplicial) d-ball any (labeled) simplicial complex that can be realized as a regular triangulation of a configuration of points in dimension d. By adding a point “at infinity” to a polytopal d-ball one obtains a polytopal d-sphere with one more vertex, and viceversa. Thus, the number of combinatorially different labeled polytopal d-balls with n vertices coincides with the number of combinatorially different labeled simplicial \((d+1)\)-polytopes with \(n+1\) vertices.

On the other hand, if two simplicial polytopes are combinatorially different then no triangulation of the first can be combinatorially equal to one of the second, because we can recover the boundary complex of a simplicial polytope from any of its triangulations. Hence:

Lemma 4.1

If \(P_1, \dots , P_N\) are configurations of dimension d and size n in convex and general position and with combinatorially different convex hulls, then there are at least

$$\begin{aligned} \sum _{i=1}^N |{\mathcal {T}}(P_i)| \end{aligned}$$

combinatorially different labeled simplicial \((d+1)\)-polytopes with \(n+1\) vertices.

In this section we show that not only cyclic polytopes but all the Gale sewn polytopes introduced in [18] fulfill (in certain realizations) the conditions of Theorem 3.6. This provides us with a large family of polytopes with many regular triangulations, to which we can apply Lemma 4.1 and obtain even more polytopes.

In order to have a self-contained presentation, we give in Sect. 4.1 all the definitions and lemmas that are used in the proofs of the constructions in the Sect. 4.2. Most of the contents of the latter can be traced back to [8, 18], but observe that the presentation in [18] is formulated in the Gale dual setting of extensions while ours, and the one in [8], is already formulated in a primal setting of liftings.

4.1 Lexicographic liftings

A central tool for our construction are lexicographic liftings, which are a way to derive \((d+1)\)-dimensional point configurations from d-dimensional point configurations.

Definition 4.2

A positive lexicographic lifting of a point configuration \(P=(p_1,\dots ,p_n)\subset {\mathbb {R}}^d\) (with respect to the order induced by the labels) is any configuration \(\widehat{P}=(\widehat{p}_1,\dots ,\widehat{p}_n,\widehat{q})\) of \(n+1\) labeled points in \({\mathbb {R}}^{d+1}\) such that:

  1. (i)

    \(\widehat{q}\) is a point in the halfspace \(x_{d+1}>0\),

  2. (ii)

    for \(1\le i\le n\), the point \(\widehat{p}_i\) lies in the half-line from \(\widehat{q}\) through \((p_i,0)\),

  3. (iii)

    for \(d+2\le i\le n\), and for every hyperplane H spanned by \(d+1\) points taken among \(\left\{ \widehat{p}_{{1}},\dots ,\widehat{p}_{{i-1}}\right\} \), the points \(\widehat{q}\) and \(\widehat{p}_i\) lie on the same side of H.

Remark 4.3

Positive lexicographic liftings exist for every point configuration, and are a special case of the lexicographic liftings produced with a sign vector in \(\{+, -\}^n\), as defined e.g. in [8, Def. 4.1]. One way to construct a positive lexicographic lifting is to choose \(\widehat{q}\) arbitrarily with \(x_{d+1} >0\) and then take \(\widehat{p}_i:= (1-\varepsilon _i) \widehat{q} + \varepsilon _i (p_i,0)\) for constants \(0 < \varepsilon _n \ll \varepsilon _{n-1} \ll \dots \ll \varepsilon _1\). See Fig. 2.

Fig. 2
figure 2

A positive lexicographic lifting \(\widehat{P}\subset {\mathbb {R}}^2\) of a configuration \(P\subset {\mathbb {R}}^1\)

The faces of \(\text {conv}(\widehat{P})\) that do not contain \(\widehat{q}\) give a particular subdivision of P that is called the placing, or pushing, triangulation. We refer the reader to Section 4.3.1 of [6] for more details.

Definition 4.4

A face F of a polytope Q is visible from a point \(p\in {\mathbb {R}}^d\) if there is an affine functional that is zero on F, strictly positive on p and strictly negative on \(Q\setminus F\). F is hidden from p if there is an affine functional that is zero on F and strictly negative both on p and on \(Q{\setminus } F\). Note that a face that is not a facet can be both visible and hidden from p, and if p is in general position with respect to Q and \(p\notin Q\), then any face of Q (even facets) is either visible or hidden from p.

Let \(P=(p_1, \ldots , p_n)\) be a point configuration in general position in \({\mathbb {R}}^d\). We denote \(P_i:=(p_1, \ldots , p_i)\). The placing triangulation \(T_n\) of \(P_n\) is defined iteratively by taking for \(T_1\) the singleton \(\{1\}\) and for \(T_i\) the union of the faces of \(T_{i-1}\) with all simplices of the form \(F\cup \{i\}\) where F gives a face of \(\text {conv}(P_{i-1})\) that is visible from \(p_i\). \(T_i\) is the only triangulation of \(P_i\) that contains \(T_{i-1}\). The pulling triangulation of P is the union of all simplices that give proper faces of \(\text {conv}(P)\) and all \(F\cup \{n\}\) where \(F \subseteq [n-1]\) gives a proper face of \(\text {conv}(P)\). (Proper faces are those different from the whole polytope).

Lemma 4.5

Let \(\widehat{P}=(\widehat{p}_1,\dots ,\widehat{p}_n,\widehat{q})\) be a positive lexicographic lifting of the point configuration \(P=(p_1,\dots ,p_n)\subset {\mathbb {R}}^d\) in convex position. For \(i\in [n]\) we denote \(P_i:= (p_1, \ldots , p_i)\) and \(\widehat{P}_i:= (\widehat{p}_1, \ldots , \widehat{p}_i)\). Then:

  1. (i)

    The faces of \(\text {conv}(\widehat{P}_n)\) that are hidden from \(\widehat{q}\) are exactly the liftings of faces of the placing triangulation of \(P_n\).

  2. (ii)

    The faces of \(\text {conv}(\widehat{P}_n)\) that are visible from \(\widehat{q}\) are exactly the liftings of faces of the pulling triangulation of \(P_n\).

  3. (iii)

    For \(i\in [n-1]\), the faces of \(\text {conv}(\widehat{P}_i)\) that are hidden, resp. visible, from \(\widehat{p}_{i+1}\) coincide with the faces that are hidden, resp. visible, from \(\widehat{q}\).

  4. (iv)

    The faces of \(\text {conv}(\widehat{P})\) are exactly the faces of \(\text {conv}(\widehat{P}_n)\) that are hidden from \(\widehat{q}\), which are the liftings of faces of the placing triangulation of \(P_n\), and all \(\text {conv}(\left\{ {\widehat{p}_i}|{i\in F}\right\} \cup \{\widehat{q}\})\) where F gives a face of \(\text {conv}(P_n)\).

Proof

Items (i) and (ii) are reformulations of [6, Lemma 4.3.4] and [6, Lemma 4.3.6], which correspond to the case where the point \(\widehat{q}\) is “at infinity”. In that case, the faces of \(\text {conv}(\widehat{P}_n)\) hidden from \(\widehat{q}\) correspond to the lower faces of \(\text {conv}(\widehat{P}_n)\), thus to faces of the corresponding induced regular subdivision of \(P_n\). The faces of \(\text {conv}(P_n)\) visible from \(\widehat{q}\) correspond to the lower faces of the lifting of \(P_n\) induced by the opposite (negative) heights. Then, in both [6, Lemma 4.3.4] and [6, Lemma 4.3.6] where we take the opposite heights, the condition on the constant \(c_0\) and the heights amounts to asking that the lifting is a positive lexicographic lifting.

Item (iii) follows from the definitions and the fact that a face of a polytope Q is hidden, resp. visible, from a point p if and only if it is contained in a facet of Q that is hidden, resp. visible from p.

For (iv), notice that the faces of \(\text {conv}(\widehat{P})\) that do not contain \(\widehat{q}\) are exactly the faces of \(\text {conv}(\widehat{P}_n)\) hidden from \(\widehat{q}\). The same argument as before shows that they form the placing triangulation of \(\widehat{P}_n\). If \(F\subseteq [n]\) is such that \(F\cup \{\widehat{q}\}\) gives a face of \(\widehat{P}\), let h be a supporting hyperplane of this face. Then the intersection of h with the hyperplane \(w_{d+1}=0\) is a supporting hyperplane of the face given by F for \(\text {conv}(P_n)\) in \({\mathbb {R}}^d\times \{0\}\). \(\square \)

Corollary 4.6

Let \(P=(p_1, \dots , p_n)\subset {\mathbb {R}}^d\) be a point configuration in convex position. Let \(\widehat{P}=(\widehat{p}_1,\dots ,\widehat{p}_n,\widehat{p}_{n+1})\) be a positive lexicographic lifting of P and let be a positive lexicographic lifting of \(\widehat{P}\), with respect to the same order. Then the combinatorial type of is completely determined by (the oriented matroid of) the point configuration P.

Proof

According to Lemma 4.5 (iv), the faces of are the liftings of faces of the placing triangulation of \(\widehat{P}_{n+1}\) and all where F gives a face of \(\text {conv}(\widehat{P}_{n+1})\). The definition of the placing triangulation and Lemma 4.5 (i), (ii), (iii) imply that the placing triangulation of \(\widehat{P}_{n+1}\) (and thus also the faces of \(\text {conv}(\widehat{P}_{n+1})\)) is determined by the placing and pulling triangulations of the \(P_i\). \(\square \)

If one starts with a 0-dimensional point configuration (that is a point repeated multiple times), and then perfoms a sequence of positive lexicographic liftings always with respect to the same order, then one obtains a cyclic polytope. If the order is altered at each step, then many combinatorial types of polytopes are obtained, but not necessarily neighborly. Moreover, different lifting orders might give rise to equivalent polytopes. However, if one restricts to changing the order of the lifting only every two dimensions, then neighborliness is preserved and the combinatorial type can be controlled. This is used in [18] to construct many neighborly polytopes. The original presentation in [18] is in terms of lexicographic extensions of the Gale dual, but we refer to the following primal version for liftings taken from [8]. We repeat the main ideas of that proof for the reader’s convenience.

Theorem 4.7

[8, Theorem 5.5(i)] Let \(P=(p_1, \dots , p_n)\subset {\mathbb {R}}^d\) be a k-neighborly point configuration in general position. Let \(\widehat{P}=(\widehat{p}_1,\dots ,\widehat{p}_n,\widehat{p}_{n+1})\) be a positive lexicographic lifting of P and let be a positive lexicographic lifting of \(\widehat{P}\), with respect to the same order. Then is \((k+1)\)-neighborly.

Proof

Let S be a subset of [n] of size k or \(k-1\). Then \(\left\{ {p_i}|{i\in S}\right\} \) is the vertex set of a face of \(\text {conv}(P)\). Hence, it follows from Lemma 4.5 (iv) that \(\left\{ {\widehat{p}_i}|{i\in S}\right\} \cup \{\widehat{p}_{n+1}\}\) is the vertex set of a face of \(\text {conv}(\widehat{P})\). The same reasoning shows that any subset of of size \(k+1\) that contains or is the vertex set of a face of .

For the remaining cases, let S be a subset of [n] of size \(k+1\). We want to show that is the vertex set of a face of . Let \(m\le n\) be the largest element of S. Denote \(P_m=(p_1, \dots , p_m)\) and \(\widehat{P}_m=(\widehat{p}_1,\dots ,\widehat{p}_m)\). We have that \(S{\setminus }\{m\}\) gives a face of \(\text {conv}(P_{m-1})\) by neighborliness, thus \(S\setminus \{m\}\) gives a face of the pulling triangulation of \(P_{m-1}\), thus \(S\setminus \{m\}\) gives a face of \(\widehat{P}_{m-1}\) visible from \(\widehat{p}_{m}\) by Lemma 4.5 (ii), thus S gives a face of the placing triangulation of \(\widehat{P}_m\), and thus S gives a face of the placing triangulation of \(\widehat{P}\). It follows from Lemma 4.5 (iv) that S gives a face of . \(\square \)

The following lemma allows us to prove that the combinatorial type can be controlled without explicitly using the rigidity of neighborly oriented matroids of odd rank as it was originally done in [18, Proposition 6.7].

Lemma 4.8

Let \(P=(p_1, \dots , p_{n})\) be an r-neighborly point configuration in even dimension \(d=2r\) such that \(n>d+2\). Let \(\widehat{P}=(\widehat{p}_1,\dots ,\widehat{p}_{n},\widehat{p}_{n+1})\) be a lexicographic lifting of P and let be a positive lexicographic lifting of \(\widehat{P}\), with respect to the same order. Then n is the only index \(k\in [n]\) such that the double contraction is r-neighborly.

Proof

For \(r\ge 1\), we know that is 2-neighborly, so all pairs \(\{n+1, k\}\) for \(k\in [n]\) give edges of , and all points of the configuration are vertices. This justifies that the double contraction is well-defined. If \(d=r=0\), is a 1-dimensional configuration of points ordered linearly \(n, n-1, \ldots , 2, 1, n+2\). Thus, the double contraction is well-defind only for \(k=n+2\) and \(k=n\) and we already have the result of the lemma.

Note that P is a realization of . It follows from the definition of contraction that a set \(S\subseteq [n]{\setminus }\{k\}\) gives a face of if and only if \(S\cup \{n+1, k\}\) gives a face of .

We denote \(\widehat{P}_i:= (\widehat{p}_1, \ldots , \widehat{p}_i)\) for \(i\in [n]\).

We first show that is r-neighborly. Let \(S\subseteq [n+2]\setminus \{n+1, n\}\) be a subset of cardinality r. If S contains \(n+2\), we define \(S':=S\cup \{n\}{\setminus }\{n+2\}\). \(S'\) is a subset of [n] of cardinality r, hence it defines a face of \(\text {conv}(P)\) and \(S\cup \{n+1, n\}=S'\cup \{n+1, n+2\}\) indeed defines a face of . If S does not contain \(n+2\), then it is a subset of [n] of cardinality r and hence it gives a face of \(\text {conv}(P)\). Thus, \(S\cup \{n\}\) gives a face of the pulling triangulation of P, and by Lemma 4.5(ii) a face of \(\text {conv}(\widehat{P}_n)\) that is visible from \(\widehat{p}_{n+1}\). Therefore, \(S\cup \{n, n+1\}\) gives a face of the placing triangulation of \(\text {conv}(\widehat{P})\), thus a face of .

Now, let k be an element of \([n-1]\). To show that is not r-neighborly, we will exhibit a subset \(S\subseteq [n]\setminus \{n+1, k\}\) of cardinality r such that \(S\cup \{n+1, k\}\) does not give a face of . Since \(n > d+2\), we can find a subset W of [n] of cardinality \(d+2=2(r+1)\) that contains k but not n. Radon’s theorem implies that there is a partition of W into two subsets \(W_1\) and \(W_2\) such that \(\text {conv}(\left\{ {p_i}|{i\in W_1}\right\} )\cap \text {conv}(\left\{ {p_j}|{j\in W_2}\right\} )\ne \emptyset \). In particular, \(W_1\) and \(W_2\) do not give faces of \(\text {conv}(P)\). Since P is r-neighborly, \(W_1\) and \(W_2\) necessarily have at least \(r+1\) elements, so they are both exactly of cardinality \(r+1\). (This is where the assumption of even dimension is used). We define T to be the \(W_i\) that contains k, and \(S:=T\setminus \{k\}\). Since T does not give a face of \(\text {conv}(P)\) and does not contain n, it does not give a face of \(\widehat{P}_n\) that is visible from \(\widehat{p}_{n+1}\). Hence, \(T\cup \{n+1\}=S\cup \{n+1, k\}\) does not give a face of the placing triangulation of \(\widehat{P}\). However, all faces of not containing \(n+2\) must be faces of the placing triangulation of \(\widehat{P}\) by Lemma 4.5(iv). Thus, \(S\cup \{n+1, k\}\) does not give a face of . \(\square \)

Corollary 4.9

[18, Proposition 6.1] and [8, Lemma 6.1] Let \(P=(p_1, \dots , p_{n})\) be an r-neighborly point configuration in even dimension \(d=2r\). Then there are at least \(\frac{n!}{(d+2)!}\) distinct labeled combinatorial types of \((d+2)\)-polytopes with \(n+2\) vertices obtained by the following construction:

  • Choose a permutation \(\sigma \) of n.

  • Define the point configuration \(P^\sigma =(p_{\sigma (1)}, \ldots , p_{\sigma (n)})\).

  • Let \(\widehat{P}^\sigma \) be a positive lexicographic lifting of \(P^\sigma \) and let be a positive lexicographic lifting of \(\widehat{P}^\sigma \).

  • Define .

  • Take the convex hull .

Remark 4.10

In fact, [8, Lemma 6.1] gives a bound improved by a factor \(n+1\), but this does not change the asymptotics of the bound on the total number of polytopes.

Proof

Let be a point configuration in \({\mathbb {R}}^{d+2}\) obtained as in the statement, with a permutation \(\sigma \) that we do not know. We will show that we can recover \(\sigma (n), \sigma (n-1), \ldots , \sigma (d+3)\) from P and the face lattice of . This implies that distinct choices for \(\sigma (n), \sigma (n-1), \ldots , \sigma (d+3)\) give distinct labeled combinatorial types , and there are \(\frac{n!}{(d+2)!}\) such choices.

We will consecutively recover the values of \(\sigma (m)\) starting from \(m=n\) until \(m=d+3\). Suppose that we have already recovered \(\sigma (n), \sigma (n-1), \ldots , \sigma (m+1)\) for some \(d+3 \le m \le n\). We consider the point configuration (where we abuse notation for the labels but the only important thing is to record the last two points). It follows from Corollary 4.6 that its combinatorial type is well defined, because it is obtained as the relabeling of the double lifting of the point configuration \((p_{\sigma (1)}, \ldots , p_{\sigma (m)})\) (with the two additional points and ). Moreover, since the point configuration \((p_{\sigma (1)}, \ldots , p_{\sigma (m)})\) is r-neighborly, it follows from Lemma 4.8 that we can recover \(\sigma (m)\) as the only index \(k\in [m]\) such that is r-neighborly. \(\square \)

4.2 Construction of many polytopes

We will use the following slight variation of the construction used in [18] to give a lower bound for the number of polytopes.

Theorem 4.11

[18, Theorem 6.8] The number of labeled combinatorial types of neighborly d-polytopes with \(n>d\) vertices obtained from a 0-dimensional point configuration by a sequence of positive lexicographic liftings (with orders that might change along each step of the sequence) is at least

$$\begin{aligned}(n!)^{\left\lfloor {\frac{d}{2}}\right\rfloor \pm o(1)}.\end{aligned}$$

Proof

We build iteratively sets \({\mathcal {P}}_{2k}\) that contain realizations of distinct labeled combinatorial types of neighborly polytopes of dimension 2k with \(n-d+2k\) vertices.

We define \({\mathcal {P}}_0\) to be the singleton with the degenerate configuration of \(n-d\) labeled points in the 0- dimensional space.

Suppose that we have constructed \({\mathcal {P}}_{2k}\) for some \(0\le k < \left\lfloor {\frac{d}{2}}\right\rfloor \). Let \({\mathcal {P}}_{2k+2}\) be the union over all configurations \(P\in {\mathcal {P}}_{2k}\) of the distinct labeled point configurations obtained from P by relabelings and two positive lexicographic liftings in the same order, as in Corollary 4.9. This union is disjoint because if is a double lifting of P, we can recover the combinatorial type of P by taking . Hence, Corollary 4.9 gives that \(|{\mathcal {P}}_{2k+2}|\ge |{\mathcal {P}}_{2k}|\times \frac{(n-d+2k)!}{(2k+2)!}\). Theorem 4.7 ensures that the point configurations in \({\mathcal {P}}_{2k+2}\) are neighborly.

For \(k=\left\lfloor {\frac{d}{2}}\right\rfloor \) we obtain that:

$$\begin{aligned} |{\mathcal {P}}_{2\left\lfloor {\frac{d}{2}}\right\rfloor }|&\ge \prod _{k=0}^{\left\lfloor {\frac{d}{2}}\right\rfloor -1} \frac{(n-d+2k)!}{(2k+2)!}\\&\ge \frac{\left( (n-d)! \right) ^{\left\lfloor {\frac{d}{2}}\right\rfloor }}{\prod _{k=1}^{\left\lfloor {\frac{d}{2}}\right\rfloor } (2k)!}\\&=(n!)^{\left\lfloor {\frac{d}{2}}\right\rfloor + o(1)}. \end{aligned}$$

If d is odd, instead of taking a pyramid as in [18, Corollary 6.10], we do one last positive lexicographic lifting on all the elements of \({\mathcal {P}}_{2\left\lfloor {\frac{d}{2}}\right\rfloor }\) to obtain \((n!)^{\left\lfloor {\frac{d}{2}}\right\rfloor + o(1)}\) realizations of distinct labeled combinatorial types of d-polytopes with n vertices. This variant still conserves the number of distinct combinatorial types since we recover the polytopes in \({\mathcal {P}}_{2\left\lfloor {\frac{d}{2}}\right\rfloor }\) by taking the contractions of the last labeled point. \(\square \)

The combination of these constructions allows us to prove Theorem 1.1: The number of different labeled combinatorial types of d-polytopes with n vertices for fixed \(d>3\) and n growing to infinity is at least \((n!)^{d-2 \pm o(1)}\).

Proof of Theorem 1.1

We start by applying Theorem 4.11 in dimension \(d-1\). The last step of the construction of the many \((d-1)\)-polytopes in that theorem is a positive lexicographic lifting \(\widehat{P} = (\widehat{p}_1, \ldots , \widehat{p}_{n-1}, \widehat{q})\) from a \(\left\lfloor {\frac{d-2}{2}} \right\rfloor \)-neighborly \((d-2)\)-polytope P.

Lemma 3.1 ensures that we can do this lifting step by step so that for every i from d to \(n-1\), \(\widehat{p}_{i}\) and \(\widehat{q}\) are triangulation-inseparable in \((\widehat{p}_1, \ldots , \widehat{p}_i, \widehat{q})\). Indeed, the value of \(\varepsilon _i\) in Remark 4.3 can be taken arbitrarily small. While very general position is not guaranteed by the construction, note that these configurations are in general position, and hence we can do a small perturbation into very general position if needed without changing the combinatorial type.

Moreover, note that by construction P is the contraction \(\widehat{P} /\widehat{q}\), and that similarly \(( p_1, \ldots , p_i) = (\widehat{p}_1, \ldots , \widehat{p}_i, \widehat{q})/\widehat{q}\). These contractions are thus \(\left\lfloor {\frac{d-2}{2}} \right\rfloor \)-neighborly.

Hence Theorem 3.6 applies: each of these polytopes has at least \((n!)^{\left\lfloor {\frac{d-2}{2}}\right\rfloor n\pm o(1)}\) regular triangulations. Then Lemma 4.1 gives us a lower bound of \((n!)^{d-2\pm o(1)}\) labeled simplicial types of d-polytopes with n vertices.

Remark 4.12

It follows from the construction that all these many d-polytopes are \(\left\lfloor {\frac{d-1}{2}}\right\rfloor \)-neighborly, because they come from regular triangulations of Padrol’s neighborly \((d-1)\)-polytopes.

Hence, for odd d our polytopes are neighborly, since in this case \(\left\lfloor {\frac{d}{2}}\right\rfloor =\left\lfloor {\frac{d-1}{2}}\right\rfloor \).

On the other hand, if d is even then the following lemma shows that we do not improve Padrol’s bound on the number of neighborly polytopes, because each of the Padrol polytopes that we use has at most one neighborly triangulation.

Lemma 4.13

A polytope in odd dimension \(2k+1\) has at most one triangulation that is \((k+1)\)-neighborly.

Proof

This is a direct consequence of the observation after [7, Lemma 3.1], see also [6, Lemma 8.4.1]: a triangulation of a d-polytope is completely determined by its \(\left\lfloor {\frac{d}{2}}\right\rfloor \)-skeleton. For a triangulation of a \((2k+1)\)-polytope, being \((k+1)\)-neighborly exactly means that its k-skeleton is complete. \(\square \)