This paper extends Dancis's 1984 result from simplicial to cubical complexes, showing that certain cubical manifolds are uniquely determined by their lower-dimensional skeletons, with tighter bounds under specific conditions.
Contribution
It adapts Dancis's proof to cubical complexes embedded in cubes, establishing new skeleton-determination results for cubical manifolds, especially spheres.
Findings
01
Cubical manifolds are determined by their (loor{d/2}+1) -skeletons.
02
Under certain conditions, the determination can be improved to the
ceil{d/2} -skeleton.
03
The results generalize and tighten previous understanding of manifold reconstruction from skeletons.
Abstract
In 1984, Dancis proved that any d-dimensional simplicial manifold is determined by its (⌊d/2⌋+1)-skeleton. This paper adapts his proof to the setting of cubical complexes that can be embedded into a cube of arbitrary dimension. Under some additional conditions (for example, if the cubical manifold is a sphere), the result can be tightened to the ⌈d/2⌉-skeleton when d≥3.
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Full text
Reconstructing d-manifold subcomplexes of cubes from their (⌊d/2⌋+1)-skeletons
Rowan Rowlands
University of Washington, [email protected]111MSC classes: 52B70 (Primary), 05E45, 52B05, 57P10 (Secondary). Keywords: cubical complexes, manifolds, Poincaré duality, simplicial complexes
Abstract
In 1984, Dancis proved that any d-dimensional simplicial manifold is determined by its (⌊2d⌋+1)-skeleton. This paper adapts his proof to the setting of cubical complexes that can be embedded into a cube of arbitrary dimension. Under some additional conditions (for example, if the cubical manifold is a sphere), the result can be tightened to the ⌈2d⌉-skeleton when d≥3.
1 Introduction
1.1 Polytope reconstruction
The problem of reconstructing polytopes or related structures from partial information has seen much interest. To reconstruct an arbitrary d-dimensional polytope, for example, one needs to know its (d−2)-skeleton; however, some special classes of polytopes are determined by much less information: for example, zonotopes and simple d-dimensional polytopes are determined by their graphs, i.e. their 1-skeletons. Bayer [3] gives an excellent survey of this field.
Simplicial polytopes, and more generally simplicial spheres and manifolds, lie in between these two extremes. In [5], Dancis presents a neat homological proof that d-dimensional simplicial manifolds are determined by their (⌊2d⌋+1)-skeleton, generalising an idea for simplicial spheres attributed to Perles. In this paper, we modify Dancis’s argument to prove a similar result for a class of cubical manifolds, namely those that can be embedded as cubical complexes into the standard cube In for some (potentially large) n.
To reconstruct the (k+1)-skeleton of a manifold (simplicial or cubical) from its k-skeleton, we need to determine what the (k+1)-dimensional faces are. If F is a (k+1)-dimensional face, its boundary is a subcomplex of the k-skeleton isomorphic to the boundary of a simplex or cube. Therefore, determining the (k+1)-dimensional faces of the complex amounts to answering the following question: if Sk is a subcomplex of the k-skeleton that is isomorphic to the boundary of a (k+1)-dimensional simplex or cube, is it actually the boundary of a (k+1)-dimensional face of the complex, or did it just show up by coincidence? Dancis’s key insight was that this question can be answered with knowledge of just the k-skeleton, if k is large enough compared to d, thanks to Poincaré duality. In this paper, we adapt Dancis’s argument to cubical manifolds that are embeddable in cubes. Our main results are Theorems 3.7, 3.9 and 3.11.
1.2 On subcomplexes of the cube
At first glance, restricting our attention to complexes that can be embedded as a subcomplex of a cube may seem like a strict and arbitrary condition. However, we present three reasons why it is natural to consider these types of complexes.
First, there is the analogy to the simplicial world. Every simplicial complex is a subcomplex of a simplex: a simplicial complex is a collection of some subsets of {1,…,n}, while the (n−1)-simplex is the collection of all subsets of {1,…,n}.
Second, cubical complexes often arise in applied settings as subcomplexes of the standard grid of unit cubes in Rn (see [13]). Blass and
Holsztyński [4, Theorem 2.7] prove that any finite subcomplex of this grid can be embedded in some cube IN (with N potentially much larger than n).
Third, many common families of cubical complexes can be embedded in the cube. This list includes boundaries of cubical zonotopes [15, Corollary 7.17], stacked cubical polytopes (also called “capped”), the neighbourly cubical spheres constructed by Babson et al. [2], CAT(0) complexes [1, p. 149], and cubical barycentric subdivisions of simplicial complexes [4, Theorem 1.1]. Similarly, many operations on cubical complexes preserve the property of being a subcomplex of a cube, like product and disjoint union, cubical fissuring as defined by Babson et al. [2], and certain cubical versions of Pachner’s bistellar moves considered by Funar [8, Proposition 3.7.3].
On the other hand, we are obliged to point out that there are many cubical complexes that cannot be embedded into any cube. Fortunately, though, there is a fairly straightforward criterion for determining whether a given cubical complex can be embedded in a cube, for which we will need the following under-appreciated lemma.
Lemma 1.1** (Ehrenborg and Hetyei [7, Lemma 12]).**
If f:V(Im)→V(In) is an injection from the vertices of the cube Im to vertices of In which maps edges to edges, that is, an embedding of the underlying graph G(Im) into G(In), then the image of f is a face of In.
Corollary 1.2**.**
A cubical complex \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture embeds into In if and only if its underlying graph G(\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture) embeds into G(In).
So the question of whether a complex can embed into a cube is a graph-theoretic question — which is answered by the following theorem:
Theorem 1.3** (Havel and Morávek [10, Proposition 1]).**
A connected graph H can be embedded in G(In) if and only if there exists a labelling of the edges of H with labels {1,…,n} such that:
•
in every path in H, some label appears an odd number of times, and
•
in every cycle in H, no label appears an odd number of times.
Note that this criterion is similar to a condition given by Dolbilin et al. [6, Theorem 2] for a cubical manifold to be embeddable in the standard grid of unit cubes in Rn.
1.3 Acknowledgments
This research was partially supported by a graduate fellowship from NSF grant DMS-1664865.
We thank Steven Klee, Margaret Bayer, Raman Sanyal, the anonymous reviewers, and especially Isabella Novik for many helpful suggestions.
2 Definitions
Cubical complexes are a variation on the well-studied notion of simplicial complexes, where instead of simplices, we use hypercubes (or “cubes” for short).
Definition**.**
A cubical complex consists of a finite vertex setV and a collection \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture of subsets of V, called faces, satisfying the following conditions:
•
∅ is not in \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture;
•
for each v∈V, {v} is in \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture;
•
for each F∈\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, the set F:={G∈\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture:G⊆F} is isomorphic (as a poset ordered by inclusion) to the poset of non-empty faces of a cube; and
•
if F and G are in \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, F∩G is either empty or in \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture.
We usually abuse notation and just write \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture (pronounced “square”) to denote the cubical complex, instead of (V,\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture). We will typically use capital Greek letters with horizontal and vertical lines to denote cubical complexes, e.g. \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture,Γ,Π,Ξ,…, and other capital Greek letters for simplicial complexes, e.g. Δ,Λ,….
The choice of whether to include or exclude the empty set in the definition of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture is arbitrary, and many authors use the opposite convention, for which the word “non-empty” should also be removed from the third condition. We make the choice to exclude the empty set because the set of non-empty faces of a cube is slightly simpler to describe than the set of all faces.
This definition should seem reminiscent of the definition of a simplicial complex. The only differences are the exclusion of the empty set, the fourth condition (which is redundant in the simplicial version), and “non-empty faces of a cube” should be replaced by “faces of a simplex” in the third condition: the face poset of a simplex is a Boolean lattice, isomorphic to the power set of {1,…,n}.
Much of the terminology for simplicial complexes carries over to cubical complexes as well. The dimension of a face F, denoted dimF, is the dimension of the cube whose face poset F is isomorphic to, and the dimension of a complex is the maximum of the dimensions of its faces. The k-skeleton of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture is the complex Skelk\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture whose faces are {F∈\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture:dimF≤k}. The 1-skeleton of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture is also called its graph, G(\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture), and the vertex set is sometimes denoted V(\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture).
If Π and Ξ are any cubical complexes, define Π×Ξ to be the complex with vertex set V(Π)×V(Ξ) and face set {f×g:f∈Π,g∈Ξ}.
The prototypical example of a cubical complex is the unit intervalI\coloneqq\big{\{}\{0\},\{1\},\{0,1\}\big{\}}. This lets us write the poset of non-empty faces of the n-dimensional cube as In=I×⋯×I. Define I0 to be the complex with a single vertex. We will sometimes use the alternative notation I:={0,1,∗}, where 0⪯∗ and 1⪯∗ but [math] and 1 are incomparable. In this notation, In has vertex set {0,1}n and face set {0,1,∗}n, with the partial order where (p1,…,pn)⪯n(q1,…,qn) if and only if pi⪯qi for all i. The boundary of a cube, denoted ∂In, is the complex with face set In∖{(∗,…,∗)}.
A map of cubical complexes is a function f:V(Π)→V(Ξ) such that the image of any face of Π is a face of Ξ. If f is injective, the map is called an embedding; if f is bijective and f−1 is also a map of cubical complexes, we say f is an isomorphism, and we write Π≅Ξ. A subcomplex of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture consists of a subset W⊆V and a subset Γ⊆\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture such that (W,Γ) is a cubical complex. In this situation, define \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∖Γ to be the complex whose face set is {F∈\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture:F∩V(Γ)=∅}; in other words, \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∖Γ is the complex obtained by deleting all vertices of Γ from \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, along with all faces containing them. We say that Γ is a full subcomplex of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture (sometimes called an “induced subcomplex”) if it contains every face of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture involving only vertices in W.
Any cubical complex can be given a geometric realisation as a CW complex. If \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture is a cubical complex, construct the geometric realisation ∣\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∣ by taking the disjoint union of one copy of [0,1]k for each k-dimensional face of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, identifying the subfaces f⊆F with subfaces of the associated cube in agreement with the cubical structure, and for each inclusion f⊆F of faces, glueing the cubes for f and F along the appropriate face. The geometric realisation of the complex In can thus be identified with the usual cube [0,1]n⊆Rn. Note that ∣Π×Ξ∣ is homeomorphic to ∣Π∣×∣Ξ∣.
Using the CW structure of a cubical complex, we can compute its homology and cohomology groups using cellular homology and cohomology, denoted Hi(\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture) and Hi(\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture) respectively. Crucially for this paper, the cellular homology groups of a CW complex agree with the singular homology of the complex as a topological space — that is, Hi(\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture)≅Hi(∣\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∣) — and the ith cellular homology can be computed from just the j-skeleton when i<j — that is, Hi(\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture)≅Hi(Skelj\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture) — and similar statements for cohomology [9, Theorem 2.35, Lemma 2.34(c) and Theorem 3.5]. In this paper, if no coefficients are written, assume that all coefficients of homology are Z/2Z (although many of the results can be easily modified for any sensible choices of coefficients), and we only consider non-reduced homology.
We say that a cubical complex M of dimension d is a cubical homology manifold if ∣M∣ is homeomorphic to a homology manifold (without boundary), that is, for every point p∈∣M∣, the relative homology Hi(∣M∣,∣M∣∖p;Z) is Z if i=d and trivial otherwise.
3 The main result
The argument in Dancis’s paper begins with some preliminary facts about simplicial complexes, then proceeds to a mostly topological proof. The topological reasoning applies to cubical complexes without much modification, but the beginning of the argument needs some changes before it will work in the cubical world.
If Δ is a simplicial complex and Λ is a full (sometimes called “induced”) subcomplex, then ∣Δ∣∖∣Λ∣ and ∣Δ∖Λ∣ are homotopy equivalent.
To make this lemma work in the cubical world, we need a suitable analogue of fullness.
Definition**.**
Let \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture be a cubical complex. A subcomplex Γ⊆\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture is face-like if for every face F∈\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, the intersection V(Γ)∩F is empty or a face of Γ.
For example, for any face G of a cubical complex, the subcomplex G induced by G is a face-like subcomplex (hence the name).
The analogous condition for simplicial complexes is equivalent to fullness. For cubical complexes, face-like-ness implies fullness, but the reverse implication is not true: for example, if \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture is a solid square and Γ is a pair of diagonally opposite vertices, then Γ is a full subcomplex but not face-like, since the intersection of Γ with the whole square is not a face.
Proposition 3.2**.**
Let \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture be a cubical complex and Γ⊆\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture a face-like subcomplex. Then ∣\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∣∖∣Γ∣ is homotopy equivalent to ∣\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∖Γ∣.
Proof.
We will prove the statement by first constructing a strong deformation retraction HF from ∣F∣∖∣Γ∩F∣ to ∣F∖(Γ∩F)∣ for each face F of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, and then observing that wherever faces F and F′ overlap, the deformation retractions HF and HF′ agree.
Let G=V(Γ)∩F, so G=Γ∩F. Since Γ is face-like, G is either empty or a face of Γ, and thus of F. If G is empty or G=F, then ∣F∣∖∣G∣=∣F∖G∣, so we can take HF to be the constant homotopy. Otherwise, by exploiting the bountiful symmetry of the cube, we may write F=Ir and assume G is the subcomplex Ik×0r−k. Then
[TABLE]
The space ∣Ir−k∣∖∣0∣ is a topological cube with a single corner point removed, while ∣Ir−k∖0∣ is a cube where every face containing that corner is removed, which is the subset of the cube consisting of points where some coordinate is 1.
Now, define a strong deformation retraction HF from ∣Ik∣×(∣Ir−k∣∖∣0∣) to ∣Ik∣×∣Ir−k∖0∣ by
[TABLE]
Note that H_{F}\big{(}0,(x,y)\big{)}=(x,y) and H_{F}\big{(}1,(x,y)\big{)}=\big{(}x,\frac{y}{\max y_{i}}\big{)}, which is in ∣Ir−k∖0∣ since some coordinate of maxyiy is 1. We leave it to the reader to check the remaining details that this is a well defined deformation retraction.
Now that we have constructed homotopies on the faces F of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, it remains to argue that they agree where faces overlap. By the definition of a cubical complex, the intersection of any two overlapping faces F and F′ is a sub-face f of each. Think of F as Ir={0,1,∗}r, so the face F is (∗,…,∗), and G is (∗,…,∗,0,…,0), with ∗ appearing k times. Thus the set of subfaces of F that meet Γ is {0,1,∗}k×{0,∗}r−k.
Suppose f is one such face, so all of the last r−k coordinates of f are [math] or ∗, and let ι be the inclusion ∣f∣↪∣F∣. The homotopy HF restricted to ∣f∣ is constantly zero in the coordinates where f is [math], so HF∣∣f∣ agrees with ι∘Hf. On the other hand, if f is a subface of F that does not meet Γ, at least one of the last (r−k) coordinates of f must be 1, so
[TABLE]
Thus Hf and the restriction of HF are both the constant homotopy on ∣f∣, so they also agree.
Therefore, for any faces F and F′, HF and HF′ agree on their intersection F∩F′=f. Thus the homotopies glue together to form a deformation retraction from ∣\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∣∖∣Γ∣ to ∣\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture∖Γ∣.
∎
The second modification we make to Dancis’s argument is the following lemma, which explains why we only consider subcomplexes of the cube — this lemma is not true for arbitrary cubical complexes.
Lemma 3.3**.**
Suppose \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture is a subcomplex of In, and Sk is a subcomplex of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture isomorphic to ∂Ik+1, with k≥1. Then Sk is a face-like subcomplex of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture if and only if Sk is not the boundary of a (k+1)-dimensional face of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, that is, Sk is not the complex ∂F for any F∈\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture.
Proof.
If Sk is the boundary of a face F∈\leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, then V(Sk)∩F=V(Sk) is not a face of Sk, so Sk is not face-like.
On the other hand, even if Sk is not the boundary of any face of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture, Lemma 1.1 implies that it is still the boundary of a face F of In. Suppose G∈In is any face. Since Sk and F only differ in the face F, we have either G∩Sk=Sk, if G contains F, or G∩Sk=G∩F, which is a face of Sk. Hence if \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture does not contain F, and thus does not contain any face containing F, then Sk is a face-like subcomplex of \leavevmodeto8.4pt\vboxto6.8pt\pgfpicture\makeatletter\lower0.0ptto0.0pt\pgfsys@beginscope\pgfsys@invoke\definecolorpgfstrokecolorrgb0,0,0\pgfsys@color@rgb@stroke000\pgfsys@invoke\pgfsys@color@rgb@fill000\pgfsys@invoke\pgfsys@setlinewidth0.4pt\pgfsys@invoke\nullfontto0.0pt\pgfsys@beginscope\pgfsys@invoke\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@eoruletrue\pgfsys@invoke\pgfsys@moveto0.0pt0.0pt\pgfsys@moveto0.0pt0.15pt\pgfsys@lineto0.0pt6.65001pt\pgfsys@curveto0.0pt6.73285pt0.06715pt6.8pt0.15pt6.8pt\pgfsys@lineto6.65001pt6.8pt\pgfsys@curveto6.73285pt6.8pt6.8pt6.73285pt6.8pt6.65001pt\pgfsys@lineto6.8pt0.15pt\pgfsys@curveto6.8pt0.06715pt6.73285pt0.0pt6.65001pt0.0pt\pgfsys@lineto0.15pt0.0pt\pgfsys@curveto0.06715pt0.0pt0.0pt0.06715pt0.0pt0.15pt\pgfsys@closepath\pgfsys@moveto6.8pt6.8pt\pgfsys@moveto0.4pt0.7pt\pgfsys@moveto0.4pt0.7pt\pgfsys@lineto0.4pt6.40001pt\pgfsys@lineto5.90001pt6.40001pt\pgfsys@lineto5.90001pt0.7pt\pgfsys@closepath\pgfsys@moveto5.90001pt6.40001pt\pgfsys@fill\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@beginscope\pgfsys@invoke\pgfsys@setlinewidth0.6pt\pgfsys@invoke\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\pgfsys@discardpath\pgfsys@invoke\lxSVG@closescope\pgfsys@endscope\hss\lxSVG@closescope\endpgfpicture.
∎
3.2 Topological theorems
From this point on, Dancis’s argument is mostly topological, so it carries over almost unchanged for cubical complexes. We restate Dancis’s argument here, starting with the following version of Poincaré duality (see [14, Theorem 70.2]). Remember that we assume the coefficients of homology are Z/2Z if none are written.
Theorem 3.4** (Poincaré duality).**
If M is a d-dimensional cubical homology manifold and Γ is a subcomplex, then Hj(∣M∣,∣M∣∖∣Γ∣)≅Hd−j(∣Γ∣). If M is orientable, the same holds with coefficients in Z.
Let M⊆In be a d-dimensional cubical homology manifold, and Sk a subcomplex of M isomorphic to ∂Ik+1 with k≥2.
•
If Sk is the boundary of a face in M, then Hj(M∖Sk)≅Hj(M) for all j≤d−2.
•
If Sk is not the boundary of any face of M, then
–
Hj(M∖Sk)≅Hj(M)* when j≤d−2 and j∈{d−k,d−k−1}, and*
–
Hj(M∖Sk)≅Hj(M)* for some j∈{d−k,d−k−1}.*
Proof.
First, suppose Sk is the boundary of a face F. Consider the long exact sequence of the pair (M,M∖F):
[TABLE]
Since F is a face-like subcomplex, Propositions 3.2 and 3.4 imply that Hj(M,M∖F)≅Hd−j(F), which is [math] when j<d. Therefore, away from j=d, the exact sequence breaks up into shorter exact sequences:
[TABLE]
But M∖F and M∖Sk are the same complex, so Hj(M∖Sk)=Hj(M∖F)≅Hj(M) when j≤d−2.
Now, suppose Sk is not the boundary of a face. Consider the pair (M,M∖Sk):
[TABLE]
In this case, Lemma 3.3 says that Sk is a face-like subcomplex of M, so Propositions 3.2 and 3.4 imply that Hj(M,M∖Sk)≅Hd−j(Sk), which is Z/2Z when j=d−k or j=d, and [math] otherwise. Therefore, away from j=d−k and j=d, this exact sequence implies that Hj(M)≅Hj(M∖Sk). However, near j=d−k we get the following exact sequence:
[TABLE]
So either Hd−k(M∖Sk)≅Hd−k(M) or Hd−k−1(M∖Sk)≅Hd−k−1(M).
∎
If M⊆In is a d-dimensional cubical homology manifold and Sk≅∂Ik+1 a subcomplex with k≥2, then Sk is the boundary of a (k+1)-dimensional face of M if and only if Hj(M∖Sk)≅Hj(M) for both j=d−k and j=d−k−1.
And since the homology groups Hd−k(M), Hd−k−1(M), Hd−k(M∖Sk) and Hd−k−1(M∖Sk) can be computed from the k-skeleton of M when d−k<k, we conclude:
Any d-dimensional cubical homology manifold M⊆In can be reconstructed from its (⌊2d⌋+1)-skeleton.
Proof.
Each (k+1)-dimensional face of M shows up in the k-skeleton as a subcomplex isomorphic to ∂Ik+1, so reconstructing the (k+1)-skeleton of M from its k-skeleton amounts to deciding which subcomplexes Sk≅∂Ik+1 are actually boundaries of faces. Corollary 3.6 answers this question when k≥⌊2d⌋+1.
∎
Under some mild assumptions (for example, if M is a sphere), we can tighten this result to the ⌈2d⌉-skeleton (which differs from Theorem 3.7 when d is even).
Suppose M⊆In is a d-dimensional cubical homology manifold with d=2r≥4, and either
•
Hr(M;Z/2Z)=0, or
•
M* is orientable and Hr(M;Z) is finite.*
Then a subcomplex Sr≅∂Ir+1 bounds a face of M if and only if Hr−1(M∖Sr)≅Hr−1(M) (with coefficients in Z/2Z in the first case or Z in the second).
Proof.
In the first case, setting k=r in Eq. 1 gives the following sequence:
[TABLE]
In the second case, Poincaré duality holds with coefficients in Z for orientable manifolds, so we get this sequence:
[TABLE]
in which the map ϕ must be zero, since there are no other homomorphisms from a finite group to Z.
In both cases, we conclude that Hr−1(M∖Sr)≅Hr−1(M) (with appropriate coefficients) whenever Sr is not the boundary of a face in M. Conversely, if Sr is the boundary of a face, Lemma 3.5 still says that Hr−1(M∖Sr;Z/2Z)≅Hr−1(M;Z/2Z), and a similar proof works with coefficients in Z when M is orientable.
∎
If M is a 2r-dimensional cubical homology manifold satisfying the hypotheses of Lemma 3.8, M is determined by its r-skeleton.
Theorems 3.7 and 3.9 let us reconstruct manifolds when the dimension is known. Theorem 3.11 will allow some ambiguity in the dimension. But first, a lemma:
Lemma 3.10**.**
If M is a connected, d-dimensional cubical homology manifold with d≥2 and Sd is a subcomplex homeomorphic to a d-dimensional sphere, then Sd=M.
Proof.
The pair (M,Sd) gives the following long exact sequence:
Let M and N be cubical homology manifolds that are each subcomplexes of a cube. Let m=dimM and n=dimN, and assume m≥n≥3. Suppose k is an integer with
•
k≥⌊2m⌋+1; or
•
k=2m* and Hk(M;Z/2Z)=Hk(N;Z/2Z)=0; or*
•
k=2m, M and N are orientable, and Hk(M;Z) and Hk(N;Z) are finite.
Then SkelkM≅SkelkN implies M≅N.
(Our proof is a simplification of Dancis’s simplicial version, but with slightly different hypotheses.)
Proof.
The goal of this proof is to reduce to the case k≥n. We will start by assuming k<n, and argue that the (k+1)-skeletons of M and N are isomorphic, so by induction, the n-skeletons must be isomorphic.
To begin with, let us assume k<n and consider the case where k≥⌊2m⌋+1. Under these assumptions,
[TABLE]
The key facts are n−k≤k−1 and m−k≤k−1, which allow us to compute the (n−k)th, (m−k)th and lower homology groups from the k-skeleton, and n−k≤m−2 and m−k≤n−2, which will let us use Lemma 3.5.
Suppose Sk≅∂Ik+1 is a subcomplex of SkelkM≅SkelkN. If Sk bounds a face in M, then Lemma 3.5 and the fact that n−k≤m−2 imply that Hj(M∖Sk)≅Hj(M) when j∈{n−k,n−k−1}. Since n−k≤k−1, these homology groups depend only on the k-skeleton of M, thus Hj(M∖Sk)≅Hj(N∖Sk) and Hj(M)≅Hj(N) when j∈{n−k,n−k−1}. Therefore, Hj(N∖Sk)≅Hj(N) when j∈{n−k,n−k−1}, so Corollary 3.6 implies that Sk bounds a face in N.
Similarly, if Sk bounds a face in N, then Hj(M∖Sk)≅Hj(N∖Sk)≅Hj(N)≅Hj(M) when j∈{m−k,m−k−1}; hence Sk bounds a face in M.
When k=m/2, the argument is similar. If n=m, the result follows from Corollary 3.9, so we may assume n<m. Then:
[TABLE]
If Sk bounds a face in M, Lemma 3.5 and the inequality n−k≤m−2 imply that Hj(N∖Sk;Z/2Z)≅Hj(M∖Sk;Z/2Z)≅Hj(M;Z/2Z)≅Hj(N;Z/2Z) when j∈{n−k,n−k−1}, so Sk bounds a face in N by Corollary 3.6. On the other hand, if Sk bounds a face in N, Lemma 3.5 (or a modification with Z coefficients) implies Hk−1(M∖Sk)≅Hk−1(N∖Sk)≅Hk−1(N)≅Hk−1(M) with coefficients in either Z/2Z or Z, and we conclude from Lemma 3.8 that Sk bounds a face in M.
Thus the (k+1)-dimensional faces in M and N are the same, in all cases when k<n; that is, the (k+1)-skeletons of M and N are isomorphic. Therefore, we can inductively increase k to reduce to the case where k≥n. In this case, we have SkelnM≅SkelnN=N. However, we claim that the only skeletons of an m-dimensional manifold that are themselves manifolds are the [math]-skeleton and the m-skeleton.
We may assume that M and SkelnM are connected, since the components of SkelnM are precisely the skeletons of the components of M when n≥1. If SkelnM≅∂In+1, the only possible (n+1)-dimensional face of M is the cube whose boundary is SkelnM. Then Skeln+1M is either ∂In+1 or In+1, and there are no possible faces of higher dimension; but In+1 is not a manifold (without boundary), so M≅∂In+1≅SkelnM. Conversely, if SkelnM≅∂In+1, then Lemma 3.10 implies that there are no subcomplexes of SkelnM isomorphic to ∂In+1, and again SkelnM=M. Therefore, M≅N.
∎
Dancis gives an example of the cyclic (d+1)-polytopes, whose ⌊2d−1⌋-skeletons are the same as the skeleton of the boundary of a simplex, to show that the bounds on k in the simplicial version of Theorem 3.11 cannot be improved to ⌊2d−1⌋. The neighbourly cubical d-spheres and (d+1)-polytopes constructed by [2, 12, 11], whose ⌊2d−1⌋-skeletons match the boundary of a cube, serve the same purpose for cubical manifolds. (These complexes embed into a cube, since C1 in [2, Theorem 3.1] is itself a cube and fissuring preserves embeddability into a cube.)
This paper relied on the cubical manifolds being embeddable in a cube. The question remains: what skeleton determines an arbitrary d-dimensional cubical manifold?
Bibliography15
The reference list from the paper itself. Each links out to its DOI / PubMed record.
1Ardila et al. [2012] Ardila, F., Owen, M., and Sullivant, S. (2012). Geodesics in CAT(0) cubical complexes. Adv. in Appl. Math. , 48(1):142–163.
2Babson et al. [1997] Babson, E. K., Billera, L. J., and Chan, C. S. (1997). Neighborly cubical spheres and a cubical lower bound conjecture. Israel J. Math. , 102:297–315.
3Bayer [2018] Bayer, M. M. (2018). Graphs, skeleta and reconstruction of polytopes. Acta Math. Hungar. , 155(1):61–73.
4Blass and Holsztyński [1972] Blass, J. and Holsztyński, W. (1972). Cubical polyhedra and homotopy. III. Atti Accad. Naz. Lincei Rend. Cl. Sci. Fis. Mat. Natur. (8) , 53:275–279.
5Dancis [1984] Dancis, J. (1984). Triangulated n 𝑛 n -manifolds are determined by their [ n / 2 ] + 1 delimited-[] 𝑛 2 1 [n/2]+1 -skeletons. Topology Appl. , 18(1):17–26.
6Dolbilin et al. [1994] Dolbilin, N. P., Shtan’ko, M. A., and Shtogrin, M. I. (1994). Cubic manifolds in lattices. Izv. Ross. Akad. Nauk Ser. Mat. , 58(2):93–107.
7Ehrenborg and Hetyei [1995] Ehrenborg, R. and Hetyei, G. (1995). Generalizations of Baxter’s theorem and cubical homology. J. Combin. Theory Ser. A , 69(2):233–287.
8Funar [1999] Funar, L. (1999). Cubulations, immersions, mappability and a problem of Habegger. Ann. Sci. École Norm. Sup. (4) , 32(5):681–700.