Shellings from relative shellings, with an application to NP-completeness

Shellings of simplicial complexes have long been a useful tool in topological and algebraic combinatorics. Shellings of a complex expose a large amount of information in a helpful way, but are not easy to construct, often requiring deep information about the structure of the complex. It is natural to ask whether shellings may be efficiently found computationally. In a recent paper, Goaoc, Paták, Patáková, Tancer and Wagner gave a negative answer to this question (assuming P ≠ NP), showing that the problem of deciding whether a simplicial complex is shellable is NP-complete. In this paper, we give simplified constructions of various gadgets used in the NP-completeness proof of these authors. Using these gadgets combined with relative shellability and other ideas, we also exhibit a simpler proof of the NP-completeness of the shellability decision problem.



page 8


MaxCut on Permutation Graphs is NP-complete

In this paper, we prove that the MaxCut problem is NP-complete on permut...

On NP-completeness of the cell formation problem

In the current paper we provide a proof of NP-completeness for the CFP p...

P-Optimal Proof Systems for Each Set in coNP and no Complete Problems in NP∩coNP Relative to an Oracle

We build on a working program initiated by Pudlák [Pud17] and construct ...

PNP and All Sets in NP∪coNP Have P-Optimal Proof Systems Relative to an Oracle

As one step in a working program initiated by Pudlák [Pud17] we construc...

Team Diagonalization

Ten years ago, Glaßer, Pavan, Selman, and Zhang [GPSZ08] proved that if ...

NP-Complete Problems for Lee Metric Codes

We consider codes over finite rings endowed with the Lee metric and prov...

Oracle with P=NP∩ coNP, but no Many-One Completeness in UP, DisjNP, and DisjCoNP

We construct an oracle relative to which P = NP∩coNP, but there are no m...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1. Introduction

A shelling is a certain way of building up (or equivalently, tearing down) a simplicial complex, facet by facet. A precise definition may be found in Section 2. Shellings have found considerable application by combinatorialists and combinatorial algebraists. In the 1970s, work of Hochster, Reisner, and Stanley showed how to use shellings [16, 25, 27] to prove that certain rings are Cohen-Macaulay; this is still a useful tool [15, 22, 31]. The existence of a shelling makes computing homotopy type easy, and the topology (up to homeomorphism) tractable in many cases [4, 8, 33]. In certain cases, the existence of a shelling is equivalent to the existence of other interesting structure: for example, the order complex of a finite group is shellable if and only if the group in question is solvable [26].

In a pair of papers [10, 11] from the 1970s, Danaraj and Klee consider the decision problem , that is, the problem of determining whether a simplicial complex is shellable. They showed that is in when restricted to -dimensional pseudomanifolds, and suggested that the general problem might be -complete. See also [17]. This problem sat open for 40 years, until Goaoc, Paták, Patáková, Tancer and Wagner, in a significant recent advance, verified the problem to be -complete:

Theorem 1.1 (Goaoc, Paták, Patáková, Tancer, and Wagner [12, Theorem 1]).

is -complete, even when restricted to -dimensional simplicial complexes.

The proof is by polynomial reduction from . As is typical in such a reduction, the construction in [12] proceeds by building “choice gadgets” (corresponding to variables in a instance), “constraint gadgets” (corresponding to clauses), and some other needed gadgets for consistency. As an essential building block, these authors require simplicial complexes that are shellable, but where the shelling order is ‘rigid’ in a certain precise sense.

One such building block is a shellable complex with a single free face ; in such a complex, every shelling order must end with the facet containing . The authors of [12] use a construction based on Bing’s house with 2 rooms. This construction is originally due to Malgouyres and Francés in [21]. As observed in [12, Remark 9], there is also a somewhat more concrete construction due to Hachimori [13] (and extended to arbitrary dimensions by Adiprasito, Benedetti and Lutz [2, Theorem 2.3]).

Another building block in [12] is a shellable complex with 3 nonadjacent free faces, and satisfying some other conditions needed for gluing it to a larger construction. The authors in [12] roughly sketch a construction based on Bing’s house for the latter building block, but do not provide all details. They instead give a reference to another paper of Tancer [30, Section 4], which provides more details of the construction. The resulting simplicial complex is fairly large and complicated.

The first result on this paper will be to give a simple and explicit construction of shellable complexes with an arbitrary number of nonadjacent free faces.

Theorem 1.2.

For any positive integer , there is a simplicial complex and subcomplex such that:

  1. is a shellable and contractible -dimensional complex, having exactly free edges and no other free faces. Denote by the set of free edges.

  2. is a shellable and contractible -dimensional complex (that is, a tree), having exactly leaves, so that each leaf vertex is contained in an edge of .

  3. For any proper subset of free edges, the relative complex is shellable.

An easy homology calculation gives (in the notation of the theorem) that is not shellable, so the word “proper” in Theorem 1.2 (3) cannot be removed. We remark also that Theorem 1.2 essentially restates in terms of relative shellability (and in a more general context) the conditions required by [12].

Our second result will be an improved construction for and proof of Theorem 1.1. Our construction improves on that of [12] in several ways. We significantly simplify the needed choice gadgets, eliminating a consistency gadget needed in the earlier paper, and markedly reducing the size and complexity. See Remark 4.1. Of course, we also use the improved building blocks of Theorem 1.2.

Our proof of Theorem 1.1 is also somewhat differently structured from that of [12]. The authors of this paper give all proofs in terms of collapsibility, rather than shellability (using a result of Hachimori [14, Theorem 8]). We phrase our proof in the language of shellability and relative shellability, which we believe some readers may prefer.

The main innovation that we introduce is the systematic use of relative shellings to build up large shellable complexes with desired properties. We use this approach in both the proof of Theorem 1.2 as well as in our new proof of Theorem 1.1. We believe that our techniques may find application to other problems.

We mention that Danaraj and Klee asked a more specific question than that answered by [12]: is -complete when restricted to -pseudomanifolds (for some )? We don’t know the answer to this, but believe that relative shellability ideas similar to those we use here may be helpful in addressing the problem. A similar question that might be interesting to consider: does remain -complete when restricted to complexes with an embedding in ? ? Other spaces?

Although of a -dimensional complex is -complete, the problem restricted to a -dimensional ball or sphere is in , and indeed is computable in linear time [10]. Is for a -dimensional ball or sphere in ? We remark that one quite general construction of nonshellable -balls uses nontrivial knots as an essential ingredient. As the problem has been shown to be in [18, 19], it seems plausible that the restriction of to -balls is also is in .

The paper is organized as follows. In Section 2 we give general background on shellability and relative shellability. We believe that some of the lemmas on relative shellability in this section may be of broader use. In Section 3 we construct the complexes as in Theorem 1.2. In Section 4 we use these complexes and other ideas to give our new proof of Theorem 1.1.

2. Background

As usual, a simplicial complex is a family of sets (called faces) that is closed under inclusion. The simplicial complex generated by a family of sets consists of all subsets of sets in , and is denoted . The


of simplicial complex is where is the number of faces of with vertices, and the -vector of is determined by . We denote as and , respectively.

A free face in is a face which is properly contained in exactly one facet (maximal face). It is easy to show that if is a free face, then deformation retracts to the complex obtained by removing from all faces containing .

A simplicial complex is (absolutely) shellable if there is an ordering (a shelling) of the facets such that each intersects with the complex generated by in a pure complex. A useful equivalent condition is as follows:


Each facet in a shelling contains a minimal “new” face, given by . If the minimal new face is itself, then we say is a homology facet, otherwise, contains a face that is free in .

A relative simplicial complex is a pair of simplicial complexes, where is a subcomplex of . The faces of are the faces of that are not faces of . It may be helpful to recall from algebraic topology that there is a homology theory for relative complexes, and that is isomorphic to the homology of the quotient of by .

A relative simplicial complex is (relatively) shellable if there is an ordering (a shelling) of the facets of such that each contains a unique minimal “new” face [28, Chapter III.7]. That is, the set of subsets of each that are not in a preceding or in has a unique minimal element under inclusion. Thus, (absolute) shellability is the special case of relative shellability where . Previous work on relative shellability includes [1, 3, 9, 29, 34].

We find it more convenient to work with a formulation closer to the standard definition for the absolute case. The proof is essentially the same as in the absolute case [6, Section 2].

Lemma 2.1.

Let . An ordering of the facets of a relative simplicial complex is a shelling if and only if each intersects in a pure complex with the complex generated by together with .


If satisfies the condition, then any face of either contains , or else is a face of . Thus, is the required minimal new face. Conversely, if is shellable with minimal new face , then the intersection with is generated by the faces over . It follows that the intersection is pure of codimension one, as required. ∎

Now the immediate analogue of (2.1) is as follows. Let be as in the statement of Lemma 2.1. Then an ordering is a relative shelling if and only if the following holds:

Remark 2.2.

The condition of (2.2) and Lemma 2.1 are exactly the same as those for extending a partial shelling to a full shelling of a simplicial complex. Thus, we may think of relative shellability as giving a setting where we may pretend we have already shelled (whether that is possible or not), and must continue the shelling order for the remaining facets (subject to the usual facet-attachment conditions).

Our main use of relative simplicial complexes and relative shellings is as a tool to build (absolutely) shellable simplicial complexes. The key observation for this endeavor is the following lemma.

Lemma 2.3 (Gluing Lemma).

Suppose that and are shellable relative simplicial complexes, where and are both contained in a common ambient supercomplex. If and , then the relative complex is shellable.


We begin with the shelling order of . Since , this is also a partial shelling order of . We follow with the shelling order of , using Lemma 2.1. ∎

Example 2.4.

Let be the triangle with vertices , and be the triangle with vertices . It is easy to see that is shellable relative to any tree having at least edge. Using Lemma 2.3, we see that the two-triangle complex is shellable relative to any tree having at least edge. For without loss of generality, we may assume that contains at least edge of , and that has at most edge of not in . Now is a tree in . Taking , we see that the conditions of the lemma are met.

In order to apply Lemma 2.3, we will need various relative shellings. It will often be more convenient for us to find absolute shellings, and apply the following lemma.

Lemma 2.5.

Let be a pure -dimensional simplicial complex with shelling order . Furthermore, let be a pure -dimensional subcomplex of such that for any facet of and any in the shelling order, one of the following holds:

  1. for some facet of , or

  2. for some , or

  3. .

Then is a shelling of the relative complex .


Let be a facet of the complex generated by together with . It suffices to show that there is another facet of so that is a -face. If for , then this follows from the definition of shelling. Otherwise, is a facet of for which (2) does not hold, and the desired is immediate by (1) or (3). ∎

Remark 2.6.

In simple language, the condition of Lemma 2.5 requires that every maximal intersection of with is either a facet of (so -dimensional), or else contained in some earlier facet in the shelling.

Example 2.7.

A shedding vertex of has the property that if is in a face , then there is some other vertex so that is a face. It is well-known that if is a shedding vertex such that and are both shellable, then also is shellable [7, 32]. This fact for pure complexes follows also from Lemma 2.3, where we take , , and . Now is shellable by Lemma 2.5 and the shelling order on , where we take whenever (2) fails. We recover that is shellable relative to , i.e., is (absolutely) shellable.

A similar argument applies to a shedding face , setting and , so that . As we will not use this result, we omit the details.

We use the following observation on gluing simplicial complexes freely and without explicit reference, but state it here for clarity. The proof is immediate from definitions.

Lemma 2.8.

Let and be simplicial complexes on disjoint vertex sets and . Let and , and let and respectively be the subcomplexes induced by these vertex subsets. By identifying each with , we form a simplicial complex , where topologically is formed by gluing and along .

We refer to [4] for additional background and definitions on simplicial combinatorics.

3. Turbines and blades

In this section, we construct the complexes of Theorem 1.2. We call the complex the -turbine, for reasons that will be apparent from Figure 3.3.

3.1. The -turbine

First, Hachimori’s example (pictured in Figure 3.1) will be . Hachimori verified his example to be shellable in his thesis [13], and it is clear from inspection that it has a single free face. It is immediate from Lemma 2.5 that if is generated by any edge of the initial facet in a shelling, then is relatively shellable. It is straightforward to find a shelling that begins with a facet intersecting with the free edge at a vertex; we have shown one such in Figure 3.1. This proves Theorem 1.2 for the case . As previously mentioned, this was already substantively observed in [12].

Remark 3.1.

The underlying topological space of Hachimori’s example is a main ingredient of our constructions. Since Hachimori based his construction on the dunce cap space, we propose the tricorne cap as a name for this space.

Figure 3.1. The tricorne cap space, with a slight variation of the triangulation of Hachimori. The arrows indicate a shelling order that begins with the facet labeled and ends with that labeled . The dashed edge is (a possible choice for) .

3.2. Construction of

We will construct for higher by gluing together several copies of the tricorne space. We will need a triangulation having adjacent free edges, shown in Figure 3.2. As our -turbines will comprise copies of glued around a central “shaft”, we call the blade complex.

Remark 3.2.

We found the triangulation of the tricorne cap space by first subdividing the free edge in , and then applying cross-flips and bistellar reductions in the sense of Pachner [23]. See also the systematic application of bistellar reductions developed by Lutz in his thesis [20], and applied by Björner and Lutz in [5]. The authors find it interesting that there is a triangulation of the tricorne cap with free edges and only vertices, while they have been unable to find a triangulation with single free edge and fewer than vertices.

Figure 3.2. The blade complex , pictured with two shelling orders. Each shelling order begins with the facet labeled and ends with that labeled in the respective diagram.

Having constructed the blade, we now construct the -turbine for . We begin with an -cycle, having vertices . Subdivide each edge of the cycle by adding a vertex between and (index considered mod ). Cone over the subdivided -gon to get a -dimensional disc. Finally, for every subdivided edge , glue a copy of along two adjacent free edges. A detailed schematic diagram of the resulting construction can be found in Figure 3.3.

We also need to construct the tree subcomplex . Denote by the apex vertex of the cone over the subdivided -gon in . For each blade let be the vertex of a free edge that is not glued to the central disc. The complex will be generated by all edges of the form together with those of the form ; it is pictured with bold dark edges in Figure 3.3.

Figure 3.3. The -turbine space and its component blades . For clarity, the blades are shown schematically (with the details of the triangulation of the blades omitted).

The case will require a slight variation of our main construction, since the complex obtained by gluing two copies of to the cone over a -gon is not simplicial. To fix this, we subdivide the edges in both copies of . All other details for proceed in exactly the same way as for higher . We picture in Figure 3.4, where we take to be the path formed by the bolded dark edges.

Figure 3.4. The -turbine space .

3.3. Proof of Theorem 1.2 for

Although it is not difficult to verify that the order in Figure 3.4 that begins with facet is a shelling, we prefer to break the complex down using relative shellability. Our strategy is to break into several simpler subcomplexes, relatively shell each of them, and use Lemma 2.3 to glue the relative shellings together.

First, the two facets beginning with clearly form a shelling, and the order is also a shelling relative to . Second, the (modified) blade is shellable with the indicated order (beginning with , indicated with the solid arrow). It follows from Lemma 2.5 that it is shellable relative to the following subcomplexes: , , and . By Lemma 2.3, the union of the initial two facets and are shellable, and also shellable relative to and . In a similar way, the two facets beginning with are shellable relative to or . Thus, we can use Lemma 2.3 to verify that the concatenation of the first two facets, the shelling of , and that of and its successor is a shelling. Finally, the pictured order of beginning with is a shelling (indicated with the hollow arrow). By Lemma 2.5, this is also a shelling relative to or . Another application of Lemma 2.3 gives that the pictured order on is a shelling, and also a shelling relative to and . Since the shelling of has no homology facet, the complex is contractible. The case of Theorem 1.2 follows from these (relative) shellings and symmetry of the complex.

3.4. Proof of Theorem 1.2 for

Our proof of Theorem 1.2 for will be entirely similar to the case. We first need two shellings of , one for the final copy of that is built up in the shelling order, and one for all other copies of . By inspection, we observe:

Proposition 3.3.

The facet orders pictured in Figure 3.2 are shellings of .

Lemma 2.5 lets us easily move to desired relative shellings:

Corollary 3.4.

In the following list of facets orders and relative simplicial complexes, each order is a shelling of the associated relative complexes.

  1. The left-pictured facet order of Figure 3.2, for the relative complexes and .

  2. The right-pictured facet order of Figure 3.2, for the relative complexes , , and .

The subcomplexes of Corollary 3.4 are pictured in bold and/or dashed edges in Figure 3.2.

For each , let and be respectively the facets and of , and let be the complex spanned by and . We begin the shelling with . By Lemma 2.3, we can continue with in the ordering given by the first relative shelling of Corollary 3.4 (2). Now by applying the simple argument from Example 2.4, we can follow that with the shelling of (relative to ).

Continue inductively in this manner, alternately adding , followed by , using Lemma 2.3 to glue the shellings at each step. After such steps, we have all of except for . Now as intersects the central cone in the two edges and , we use the relative shelling of Corollary 3.4 (1) with Lemma 2.3 to complete the absolute shelling of . Since this shelling has no homology facets, the complex is contractible.

The relative statement follows with exactly the same proof, but using the 2nd or 3rd relative complex in each application of Corollary 3.4 on , and relative to in each . Part (3) follows by this relative shelling, together with rotational symmetry of .

3.5. Additional remarks on turbines

It is straightforward to count the faces of . The -vector and -vector are

Using this calculation, together with direct counting for and , we see that

We have several remarks about variations of our construction. First, if we were only interested in a shelling of , and not also in the more delicate relative shellability property of Theorem 1.2 (3), then we could somewhat simplify the construction. Indeed, we could simplify the blade construction to have only free edges, and glue a single free edge of each blade to the each facet of a cone over an -gon. A similar argument to that in Section 3.4 gives shellability. Relative shellability, on the other hand, seems to require each blade to have two facets adjacent to the central -gon: an “in” face and an “out” face.

We also remark that higher-dimensional analogues of our construction are possible, at least in some special cases. Adiprasito, Benedetti and Lutz [2, Section 2] have generalized Hachimori’s construction to arbitrary dimension . The -dimensional blade analogue will be formed from their example, by subdividing the free face into free faces. There are some technical difficulties in forming the central “shaft” portion of a -dimensional analogue of a turbine, as the cyclic symmetry of the -gon does not cleanly generalize to higher dimensions. Special cases are easy to construct, such as an analogue of .

The restriction of Theorem 1.1 to any dimension higher than follows immediately by observing that coning preserves shellability, so we do not need complexes with such properties for -completeness. As we at present have no other application for such complexes, we do not here pursue further higher-dimensional analogues of Theorem 1.2.

4. -completeness of

In this section, we assume general familiarity with the theory of -completeness and polynomial reductions, on the level of [24].

The decision problem asks, given a list of facets of an abstract simplicial complex , whether there is a shelling of . Given an ordering of the facets, checking the condition (2.1) can certainly be done in polynomial time, so is in . It is well-known that the restriction of the problem where every literal occurs at most twice is -complete [24, Proposition 9.3], and we will give a polynomial reduction from this restricted to . As our reduction will involve only -dimensional facets, this will prove Theorem 1.1. Our reduction will be simpler in several aspects than that of [12], and our proofs will be phrased directly in terms of shellings (rather than in terms of collapsings).

We begin with an overview of our reduction. It is usual to divide -hardness proofs into building blocks called gadgets. We will have a choice gadget, corresponding to a variable, which will consist of a triangulated sphere with a glued along its free face to a portion of the equator. The choice gadgets are glued together by identifying an edge in the ’s, so that the triangulated spheres intersect at a single vertex. We will also have a constraint gadget, corresponding to a clause, which will be a or (according to the number of literals in the clause). These constraint gadgets are glued to the choice gadgets of the corresponding variables by gluing the central vertex of the tree to the common vertex of the triangulated spheres in the choice gadgets, by wrapping each branch of around a choice gadget’s equator, and by gluing the free face to the upper or lower hemisphere (depending on whether the literal in question is negated). Precise details are in Section 4.2.

An assignment of variables will correspond with a selection of upper/lower hemispheres, one from each choice gadget. We will show that such an assignment is satisfying if and only there is a shelling that has homology facets exactly in the selected hemispheres.

4.1. Gadgets

Our choice gadget will consist of three parts. The first part will be a . The second part will be a -dimensional disc having a boundary vertex that is incident to at least interior vertices and . Such a may be obtained by subdividing a triangle with vertices to get a new interior vertex , then subdividing the edge to get a new interior vertex . See Figure 4.1.

The third part will be an isomorphic copy of , which we label , and in which we label the interior vertices and .

We glue the discs and along their boundaries, and glue the free edge of the to the edge . Here is as above, and is a vertex that is adjacent to in the common boundary of and . The gluing edge of the choice gadget will be the edge from Figure 3.1 in its complex. The discs and we call the (positive and negative) literal hemispheres.

Figure 4.1. The literal hemisphere (left), and the choice gadget (shown at right in 3D, with the complex represented schematically). The choice gadgets are glued together along the bold edge . The remaining bold edges are used to attach free edges from constraint gadgets.

In the variation of where each literal occurs at most twice, we must consider clauses with either two or three literals. For clauses with two literals, our constraint gadget will be a ; for those with three literals, it will be a . We will need the tree subcomplex from Theorem 1.2 (2). We call this subcomplex the gluing tree of the constraint gadget. As in Section 3.2, we may take the gluing tree to consist of two or three branches , where each is a free edge in the turbine. (Here corresponds to in Figures 3.3 and 3.4; and are as in the figures.)

Remark 4.1.

Our choice gadgets consist of three parts, fitting together in a simple way. For comparison, the choice gadgets of [12] have six parts, and there are are some subtleties in how these parts are attached. We also completely avoid the use of their consistency (‘conjunction’) gadget.

4.2. Reduction

The details of the reduction are now straightforward.

We are given a list of clauses, each with or variables. Without loss of generality, each variable appears at most once in each clause.

For each variable appearing in the list, we take a choice gadget. We glue all of these gadgets together by identifying their gluing edges to a single edge . Thus, the edge is shared by all of the choice gadgets, and the vertex is in every literal hemisphere.

Now for each clause, we attach a or constraint gadget, according to whether the clause has or literals. Thus, each literal of the clause corresponds to a branch of the gluing tree. The literal also corresponds to a literal hemisphere or in a choice gadget. Let be the vertex , , , or of this literal hemisphere, where we decorate with if is negated and with a prime if this is the second clause containing . (Recall that each literal occurs in at most two clauses.) Now we glue the corresponding branch of the gluing tree to the vertices and edges of the literal hemisphere. That is, we glue to the choice gadget along a path that begins by wrapping around a portion of the equator (common to both literal hemispheres), and whose final vertex is in the interior of a literal hemisphere.

We remark that, since a given variable appears in a given clause at most once, the vertices of the gluing tree attach to distinct vertices in the union of choice gadgets.

Although we have described this reduction in terms of gluing, the process admits a clear translation into facets, sets, and abstract simplicial complexes. It is straightforwardly implemented in polynomial time.

We denote by the complex obtained by the polynomial reduction. It is easy to calculate the homotopy type of :

Lemma 4.2.

The complex obtained by the polynomial reduction is homotopy equivalent to a bouquet of -spheres, where the -spheres are in bijective correspondence with the variables in the instance.


The union of the literal hemispheres is exactly a bouquet of simplicial spheres. The complex can be obtained from by repeatedly attaching copies of the contractible complexes and along a contractible (tree) subcomplex. The lemma now follows by well-known results on gluing and homotopy type [4, Lemma 10.3]. ∎

4.3. Satisfiability implies shellability

Suppose that our instance has a satisfying assignment, which sets some literals to true and their negations to false. We will show the complex constructed in Section 4.2 is shellable, using repeated applications of Lemma 2.3. We will need the following (relative) shellings of the literal hemispheres:

Lemma 4.3.

The literal hemisphere disc is shellable relative to the subcomplexes , , and , where is any subset of the edges .


All are immediate from Lemma 2.5, using any shelling order beginning with the facets . ∎

Given a satisfying assignment, we now build up by gluing together subcomplexes in a specific order that is compatible with Lemma 2.3. There are three main steps:

Step 1: ‘augmented’ false literal hemispheres. We begin with the portion of the choice gadget consisting of , where is either the positive or negative literal hemisphere. By Lemmas 2.3 and 4.3 and the discussion in Section 3.1, these augmented literal hemispheres are both shellable and also shellable relative to . We take an augmented literal hemisphere for each false literal in our assignment, and glue all copies together along the gluing edge . By additional applications of Lemma 2.3, this complex is shellable.

Step 2: constraint gadgets. Next, for each clause in the instance, we attach a constraint gadget along the portion of its gluing tree that is already present in the complex built so far. This portion consists of , which attaches to the equators of false literal hemispheres; together with the subset of the free edges corresponding to the false literals in the clause, which attach to the interiors of the corresponding false literal hemispheres. (See the description in Section 4.2.) As every clause contains at least one true literal, at least one edge of is not glued. Thus, by Lemma 2.3 and Theorem 1.2, shellability is preserved under attaching each constraint gadget.

Step 3: true literal hemispheres. Finally, we attach the true literal hemispheres, yielding the full complex . By Lemma 4.3 and more applications of Lemma 2.3, this complex is shellable, as desired.

We notice that the edge of in each constraint gadget that does not attach to an edge in the interior of a literal hemisphere in Step 2 is crucial for this construction. Indeed, it is straightforward to show that a turbine is not shellable relative to .

Remark 4.4.

We observe that the complex built in this manner remains contractible through Step 2, but that attaching each true literal hemisphere in Step 3 creates a homology facet.

4.4. Shellability implies satisfiability

Given a shelling of , and a subcomplex generated by facets, we say that finishes shelling at if is the last facet of the shelling that is contained in . A subcomplex may finish shelling either at a homology facet of the shelling, or in a facet containing a free face in the partial shelling. In the latter case, the free face obviously must be free in , and must finish shelling before any other facet containing occurs in the shelling.

Now consider the complex constructed by the polynomial reduction. The facets of consist of the disjoint union of the facets of choice gadgets and of constraint gadgets. Moreover, the facets of each choice gadget are the disjoint union of those of the , those of the positive literal hemisphere, and those of the negative literal hemisphere.

By Lemma 4.2, we have a homology facet for each variable. As removing the homology facets leaves a contractible complex, there must be exactly one homology facet in each choice gadget, contained in either the positive or negative literal hemisphere. For each variable, we set the hemisphere containing the homology facet to be the true hemisphere, and the other one to be the false hemisphere. (Thus, a selection of homology facets corresponds, up to equivalence, to a truth assignment of the variables.)

We now sort the subcomplexes formed by the ’s, the literal hemispheres, and the constraint gadgets according to when they finish shelling. By results of Björner and Wachs [6, Lemma 2.7], the homology facets of the complex may be taken without loss of generality to come last in any shelling, thus the true literal hemispheres may be assumed to finish shelling after all other considered subcomplexes. Since each has a unique free face, it must finish shelling before its associated false literal hemisphere. Since each false literal hemisphere has only three free faces (one attached to a ), it must finish shelling before any constraint gadget for a clause containing the literal. Since each constraint gadget has only two or three free faces, each glued to an edge in a literal hemisphere, it must finish shelling before at least one of the literals in the corresponding clause.

Since each false literal finishes shelling before the clauses containing it, and each clause finishes shelling before at least one literal contained in it, we must have that each clause contains a true literal.