1 Introduction

In Herlihy et al. (1998), it appears for the very first time the combinatorial structure that is the main object of this work; it was called by the authors pseudosphere because, in some sense, they generalize spheres. A pseudosphereFootnote 1 is an n-dimensional simplicial complex, that, as an n-sphere, is also \(n-1\)-connected. Since then, pseudospheres have been very useful to derive distributed computing results for two main reasons. First, the very nature of several distributed systems allows computer scientists to model them using pseudospheres. The second reason is that the topological properties of a pseudosphere determine solvability conditions of distributed tasks. For an overview of this approach see Herlihy et al. (2014).

This could be enough reason to say that it is worth studying pseudospheres, but there is another aspect about their role in distributed computing. Their properties of interest have been derived by researchers of distributed computing using non-trivial results as a black box without expanding the knowledge of pseudospheres. Examples of this include Castañeda et al. (2021), Castañeda and Shimi (2020), Fraigniaud et al. (2020), Goubault et al. (2019), Guerraoui et al. (2003, 2009), Herlihy et al. (1998), Herlihy et al. (2000), Herlihy and Rajsbaum (2000, 2013), and Herlihy and Penso (2005).

In this paper we study pseudospheres as pure mathematical objects. We present an overview of their use in distributed computing, and of their intrinsic structure that plays such a fundamental role in the topological approach to distributed computing. This could be enough to justify a survey about pseudospheres, however, we discovered that pseudospheres can be viewed from various mathematical perspectives, and provide bridges between different mathematical areas. Indeed, the topological properties derived by the distributed computing community are known within other areas; we only need to look at pseudospheres from a different perspective.

More specifically, almost directly from the definition of pseudospheres, we found that the family of finite joins of discrete finite sets is precisely the family of pseudospheres. This implies that some pseudospheres are universal bundles. Informally, bundles are G-spaces for some group G. Universal bundles have the property that any other bundle satisfying an extra property could be mapped into the universal one. We show that in the case of pseudospheres we can chose that map to be simplicial whenever the other bundle is a simplicial complex and satisfies a reasonable condition.

Those pseudospheres that are universal bundles are intimately related with the Borsuk–Ulam theorem (Matousek 2003, Theorem 6.2.5), and we show how that important result can be applied to pseudospheres. We present a formulation that is just the Borsuk–Ulam theorem for pseudospheres instead of spheres. Recall that there is a combinatorial statement equivalent to the Borsuk–Ulam theorem: Tucker’s lemma. We prove a generalization of Tucker’s lemma for pseudospheres and, furthermore, we show it is equivalent to Matousek (2003, Theorem 6.2.5).

Also, we characterize pseudospheres using matroids, partially ordered sets (posets) and chromatic complexes (in Figs. 1 and 2 these results are summarized). This is a partial answer to a question made in Stanley (1979) about chromatic (balanced) complexes.

This paper is organized as follows. We begin with the definition of pseudospheres and give a list of their properties that have been used in distributed computing. In Sect. 4 we present an example of these properties. In Sect. 5, we present shellability of pseudospheres using matroids. Section 6 is devoted to the characterizations of pseudospheres as matroids. In Sect. 7 we present the results about the Borsuk–Ulam theorem. In the last section we find our condition of solvability of some distributed tasks.

Fig. 1
figure 1

A diagram explaining that the family of pseudospheres is the intersection of finite matroids and posets

Fig. 2
figure 2

Chromatic matroid complexes are precisely pseudospheres. Consequently, inside matroid theory, posets are exactly chromatic simplicial complexes. See Fig. 1

2 Preliminaries

We recall almost all concepts concerning simplicial complexes and algebraic topology we use in this work. Regarding simplicial complexes we essentially follow Kozlov (2008). This is a modern book of combinatorial topology and many classical results are assumed. With respect to algebraic topology we refer to tom Dieck (2008) and Munkres (1984).

2.1 Simplicial complexes

We use the notation \(\mathcal {P}(X)\) to refer the power set of the set X. A finite simplicial complex over a set V is a finite set \(\Delta \subseteq \mathcal {P}(V)\) closed under subsets. We only work with finite simplicial complexes, hence any simplicial complex \(\Delta \) will be assumed to be finite. A simplex of \(\Delta \) is a set \(\sigma \in \Delta \); a facet of a simplicial complex is a maximal simplex. The dimension of a simplex \(\sigma \) is \(\dim (\sigma )=\#\sigma -1\); if \(\dim (\sigma )=k\) we say that \(\sigma \) is a k-simplex. A vertex of a simplicial complex is a 0-simplex; the set of vertices of \(\Delta \) will be denoted by \(V(\Delta )\). The dimension of \(\Delta \) is \(\dim (\Delta )=\max \{\dim (\sigma )\mid \sigma \in \Delta \}\). We say that a simplicial complex is pure whenever all its facets have the same dimension.

The geometric realization \(\vert \sigma \vert \) of a simplex \(\sigma \) is the convex hull of the standard basis of the euclidean space \(\mathbb {R}^{V(\sigma )}\). This means that \(x\in \vert \sigma \vert \) if and only if

$$\begin{aligned} x=\sum _{v\in V(\sigma )}s_{v}v \end{aligned}$$

with

$$\begin{aligned} \sum _{v\in V(\sigma )}s_{v}=1 \end{aligned}$$

and each \(s_{v}\ge 0\). Consider the set \(\bigcup _{\sigma \in \Delta }\vert \sigma \vert \subseteq \mathbb {R}^{V(\Delta )}\). This space with the subspace topology is the standard geometric realization of \(\Delta \). We denote any space homeomorphic to the standard geometric realization of \(\Delta \) as \(\vert \Delta \vert \) and we call it the geometric realization of \(\Delta \). Any topological statement about a simplicial complex refers to its geometric realization.

We sometimes overload notation and use \(\sigma \) to denote both the simplicial complex \(\mathcal {P}(\sigma )\) and the unique facet of that simplicial complex. In this sense, any simplex is a simplicial complex.

If F is a subset of \(\mathcal {P}(V)\), we denote its generated simplicial complex by \(\bigcup F=\bigcup _{\sigma \in F}\sigma \); in other words \(\bigcup F\) is the union of the simplicial complexes \(\sigma \in F\). Notice that any simplicial complex is generated by its facets.

A boundary simplex of a k-simplex \(\sigma \), is a \((k-1)\)-simplex \(\tau \in \sigma \). The boundary of a simplex \(\sigma \) is

$$\begin{aligned} \partial \sigma =\bigcup \{\tau \mid \tau \text { is a boundary simplex of }\sigma \}. \end{aligned}$$

According to the previous paragraph, the boundary of a simplex is a simplicial complex. Notice that the geometric realization of the boundary of a simplex is in fact the topological boundary of its geometric realization.

Given two simplicial complexes \(\Delta \) and \(\Gamma \), a simplicial map \(f:\Delta \rightarrow \Gamma \) is a function \(f:V(\Delta )\rightarrow V(\Gamma )\) such that if \(\sigma \) is a simplex of \(\Delta \) then \(f(\sigma )\) is a simplex of \(\Gamma \). Notice that any simplicial map \(f:\Delta \rightarrow \Gamma \) induces a continuous map \(\vert f\vert :\vert \Delta \vert \rightarrow \vert \Gamma \vert \); in our context, the simplest way to see this is noticing that f is a map between bases of finite euclidean spaces. Sometimes we do not differentiate between those maps.

Complexes in distributed computing are naturally chromatic. These complexes are commonly called (completely) balanced complexes and were defined in Stanley (1979). We use the former because it is the terminology applied to pseudospheres in distributed computing. As in Herlihy et al. (2014, Sect. 3.4.1) we say that \(\chi :V(\Delta )\rightarrow C\) where \(\#C=m\) is an m-coloration of \(\Delta \) if \(\#\chi (\sigma )=\#\sigma \) for every simplex \(\sigma \in \Delta \). Elements of C are ususally called colors and we say that \(\Delta \) is colored by C. The n-dimensional simplicial complex \(\Delta \) is chromatic if it admits an \((n+1)\)-coloration.

2.2 Connectivity

Let X and Y be topological spaces, \(x\in X\) and \(y\in Y\). Two continuous functions \(f,g:X\rightarrow Y\) are homotopic with respect to the base points x and y (\(f\simeq g\)) if there is a homotopy H from f to g, in other words, there is a continuous function \(H:X\times I\rightarrow Y\) such that \(H(t,x)=y\), \(H\vert _{X\times \{0\}}=f\) and \(H\vert _{X\times \{1\}}=g\). It easy to verify \(\simeq \) is an equivalence relation. We always assume all spaces have fixed base points and simply say f and g are homotopic.

A homotopy inverse of a continuous map \(f:X\rightarrow Y\) is a continuous function \(g:Y\rightarrow X\) such that \(f\circ g\) and \(g\circ f\) are homotopic to the identity. In such case f is called a homotopy equivalence and X and Y are homotopy equivalent or have the same homotopy type. When X is homotopy equivalent to a point is called contractible. Also, it is clear that homeomorphic spaces are homotopy equivalent.

Regarding homotopy groups, we omit all formal details, they can be found in tom Dieck (2008, Chapter 6). Let \(n>0\). The n-th homotopy group, \(\pi _{n}(X)\), of X is the set of homotopy classes of functions from the n-sphere, \(S^{n}\), into X. We are interested in spaces with trivial homotopy groups. A topological space X is n-connected if it is path connected and \(\pi _{i}(X)\) is a trivial group for \(i\le n\). We say that X is \((-1)\)-connected if it is non-empty. Loosely speaking, X is n-connected if any function \(f:S^{n}\rightarrow X\) can be extended continuously to the \((n+1)\)-ball. In particular

Fact 1

The n-sphere is \((n-1)\)-connected.

Let \(\mathcal {X}\) be a family of pointed topological spaces. For each \(X\in \mathcal {X}\) let \(p_{X}\in X\) be its base point. Let \(\sim \) be the equivalence relation generated by all pairs \((p_{X},p_{Y})\) with \(X,Y\in \mathcal {X}\). The wedge sum of \(\mathcal {X}\) is the quotient

$$\begin{aligned}\bigvee _{X\in \mathcal {X}}X=\left( \bigsqcup _{X\in \mathcal {X}}X\right) /\sim .\end{aligned}$$

In words, the wedge is the quotient of the sum where all base points are identified to a single point. We need to calculate the connectivity of the wedge sum of n-spheres, so, we use the following corollary of the Hurewicz’s theorem (tom Dieck 2008, Sect. 20.1) and the Mayer-Vietoris sequence (Munkres 1984, Sect. 25).

Fact 2

Let X, Y and Z be simplicial complexes such that \(X\cup Y=Z\). If X and Y are k-connected and \(X\cap Y\) is \(k-1\)-connected for some \(k\le 0\), then Z is k-connected.

We can use the previous fact with the wedge sum \(Z=X\vee Y\) where X and y are both n-spheres. Even more, we can determine the homology groups of Z. We don not define homology because, in our case, the Hurewicz theorem ensure us they are essentially the homotopy groups. If X is a topological space, \(\tilde{H}_{i}(X)\) denote its i-th reduced homology group with integer coefficients.

Fact 3

Let X and Y be homeomorphic to \(S^{n}\). The wedge sum \(A=X\vee Y\) is \((n-1)\)-connected. Even more, the homology groups of A are \(\tilde{H}_{i}(A)=0\) for \(i<n\) and \(\tilde{H}_{n}(A)=\mathbb {Z}\oplus \mathbb {Z}\).

3 Definition of a pseudosphere and basic properties

In this section we present the concept of pseudosphere defined in Herlihy et al. (1998) and give some examples in dimension 1 and 2. Also, we present all known basic properties of pseudospheres and use one of them to give a simple characterization of pseudospheres based on simplicial joins.

Motivated by distributed computing, let \(\mathbb {P}\) be a non-empty finite set representing processes; at the end of this section we will explain the meaning of this. We use the well established notation of pseudospheres used in distributed computing. We leave examples of pseudospheres at the end of this section, we believe that our geometric characterization of pseudospheres (Theorem 1) helps to visualize them.

Definition 1

(Definition 13.3.1 (Herlihy et al. 2014)) Let \(V_{p}\) be a finite set for each \(p\in \mathbb {P}\). The pseudosphere \(\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) is the simplicial complex over

$$\begin{aligned} V=\{(p,v)\mid p\in \mathbb {P},v\in V_{p}\} \end{aligned}$$

whose simplices are precisely the sets \(\sigma \subseteq V\) such that \((p,w),(p,v)\in \sigma \) implies \(w=v\).

The notation \(\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) is well established across the computer science literature (Herlihy et al. 1998; Herlihy and Rajsbaum 2013; Goubault et al. 2019; Castañeda and Shimi 2020; Fraigniaud et al. 2020); so we decided to follow the conventions of computer scientists. In particular, if in the pseudosphere \(\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) all \(V_{p}\) are the same, we simply write that pseudosphere as \(\Psi (\mathbb {P},V)\). Before giving our geometric characterization of pseudospheres, we present some results that follow directly from Definition 1. These properties appear in Herlihy et al. (1998, 2014) and are the most used in the literature. There is one more property widely used but we will study it in Sect. 5 because, in order to make this paper self-content, we need some material.

Proposition 1

  1. 1.

    If \(\# V_{p}=1\) for each p, then \(\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) is a simplex.

  2. 2.

    Pseudospheres are closed under intersections:

    $$\begin{aligned} \Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\cap \Psi (\mathbb {P}',V'_{p}\mid p\in \mathbb {P}')=\Psi (\mathbb {P}\cap \mathbb {P}',V_{p}\cap V'_{p}\mid p\in \mathbb {P}\cap \mathbb {P}'). \end{aligned}$$
  3. 3.

    Pseudospheres are pure.

  4. 4.

    The projection over the first coordinate of the vertices of a pseudosphere is a coloration. In other words, pseudospheres are chromatic simplicial complexes.

  5. 5.

    If we delete from a pseudosphere all vertices of the form (qv), we get a pseudosphere. Formally: if \(V_{q}=\emptyset \), and \(\mathbb {P}'=\mathbb {P}\setminus \{q\}\), then

    $$\begin{aligned} \Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})=\Psi (\mathbb {P}',V_{p}\mid p\in \mathbb {P}'). \end{aligned}$$

The last part of Proposition 1 is specially important; it is basically a recursive construction of pseudospheres based on joins. We present this result below.

Definition 2

The (simplicial) join \(\Delta *\Gamma \) of two simplicial complexes \(\Delta \) and \(\Gamma \) with no common vertices is the complex generated by all sets \(\sigma \cup \sigma '\) where \(\sigma \) and \(\sigma '\) are facets of \(\Delta \) and \(\Gamma \) respectively.

It is clear that the join operation is associative, so we can take the join of any number of simplicial complexes. Notice that if two simplicial complexes have vertices in common we can distinguish them with a label, hence we can take their join. In particular, we can take the k-fold join of a simplicial complex \(\Delta \); this simplicial complex is denoted by \(\Delta ^{*k}\) and will be relevant in Sect. 7.

There is a topological join operation \(X*_{T}Y\) defined over arbitrary topological spaces. A well known result is that \(\vert \Delta \vert *_{T}\vert \Gamma \vert \cong \vert \Delta *\Gamma \vert \), see Brown (2006, Sect. 5.7) for a simple and complete proof. For this reason we will identify both operations. In Fig. 3 we have depicted the join of a 0-dimensional simplicial complex with a 1-dimensional one; the result is a 2-dimensional simplicial complex.

Fig. 3
figure 3

On the left we have a 0-dimensional simplicial complex consisting of two vertices. On the center we find a graph, it is a cycle of length 4. On the right we have the join of them. Each 2-simplex of the latter complex is obtained by joining a vertex of the first complex with an edge of the second complex

In order to characterize pseudospheres using joins we need a lemma that is equivalent to the last part of Proposition 1. We do not prove it is equivalent.

Lemma 1

If \(x\notin \mathbb {P}\), then

$$\begin{aligned} \Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})*\Psi (\{x\},V_{x})=\Psi (\mathbb {P}\cup \{x\},V_{p}\mid p\in \mathbb {P}\cup \{x\}). \end{aligned}$$

Proof

If \(x\notin \mathbb {P}\), any facet of \(\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})*\Psi (\{x\},V_{x})\) has the form \(\sigma \cup \{(x,v)\}\) where \(\sigma \) is a facet of \(\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) and \(v\in V_{x}\). That is,

$$\begin{aligned} \Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})*\Psi (\{x\},V_{x})=\Psi (\mathbb {P}\cup \{x\},V_{p}\mid p\in \mathbb {P}\cup \{x\}). \end{aligned}$$

\(\square \)

The following recursive characterization of pseudospheres was not mentioned before in the literature. We remark that although joins are mentioned in Herlihy et al. (2014) to describe spheres, no statement about pseudospheres in general is indicated nor proven. We present a simple proof for completeness, but it clearly follows from Lemma 1.

Theorem 1

A simplicial complex \(\Delta \) is a pseudosphere if and only if it is the join of simplicial complexes of dimension 0.

Proof

First notice that any simplicial complex \(\Delta \) of dimension 0 is isomorphic to \(\Psi (\{0\},V(\Delta ))\). Thus, \(\Psi (\{p\},V_{p})\cong V_{p}\).

From the previous lemma, a k-dimensional pseudosphere is the join of a \((k-1)\)-dimensional and a 0-dimensional pseudosphere. Thus, an inductive argument implies that

$$\begin{aligned} \Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\cong \genfrac{}{}{0.0pt}1{*}{p\in \mathbb {P}}\Psi (\{p\},V_{p}). \end{aligned}$$

This equation and our first observation imply that the join of \(k+1\) simplicial complexes of dimension 0 is a k-dimensional pseudosphere. \(\square \)

To end this section, we present some examples of pseudospheres. We always depict them as chromatic complexes. The usual coloration of pseudospheres is the projection over the first coordinate of their vertices. Hence we draw pseudospheres in such a way that the color of a vertex denote its first coordinate and the label its second coordinate. This is related to distributed computing in the following way. In a distributed system we have a set \(\mathbb {P}\) of computational entities called processes that receive a private input. In a pseudosphere \(\Psi \) each facet represents a possible assignation of inputs. The vertex \((p,v)\in \Psi \) represents the situation in which process p receives input v.

In dimension 1 a graph is a pseudosphere if and only if it is a bipartite complete graph \(K_{i,j}\). This is consequence of Theorem 1 because

$$\begin{aligned} K_{i,j}\cong [i]*[j] \end{aligned}$$

where \([i]=\{0,\ldots ,i-1\}\) is considered as a discrete set. Recall the well known result that says that any graph is homotopy equivalent to a wedge of circles, this implies that 1-dimensional pseudospheres are homotopy equivalent to wedges of circles. In higher dimensions this holds for any pseudosphere (see Sect. 5 for details).

Observe that pseudospheres in Figs. 4 and 5 are homotopy equivalent to a wedge of 2-spheres. The pseudosphere in Fig. 4 is the 3-fold join of the 0-sphere, \((S^{0})^{*3}\). It is a well known result that the m-fold join of \(S^{0}\) is the \(m-1\)-sphere (tom Dieck 2008, Sect. 4.2). Such spheres are usually called octahedral spheres.

On the other hand, pseudosphere in Fig. 5 consists of two octahedral spheres sharing an hemisphere, hence it is homotopy equivalent to a wedge of two spheres. When pseudospheres were defined in Herlihy et al. (1998), their name was chosen for two reasons. The first one is that octahedral spheres are pseudospheres. The second one is that pseudospheres are homotopy equivalent to wedges of spheres.

Fig. 4
figure 4

A pseudosphere in dimension two where each \(V_{p}\) has two elements; it is a sphere called octahedral sphere

Fig. 5
figure 5

A pseudosphere in dimension two. There are three colors, each corresponding to one element in the set \(\mathbb {P}=\{0,1,2\}\). We have \(V_{0}=\{0,1\}\), so there are 2 vertices of the first color corresponding to the first element of \(\mathbb {P}\). The same applies to \(V_{1}=\{a,b\}\) and \(V_{2}=\{x,y,z\}\). Any three vertices span a 2-simplex. This pseudosphere consists of two spheres sharing a hemisphere

With this we have a general idea of what is a pseudosphere, before continuing with our results, we give an example of how pseudospheres have been used in distributed computing.

4 Pseudospheres in distributed computing

Pseudospheres were defined to model some kind of distributed systems. In order to have a clear idea of how they have been used, in this section we present an important result of distributed computing involving pseudospheres (Herlihy et al. 2000, Theorem 4.3). We begin with the basic concepts of distributed computing in the language of combinatorial topology.

4.1 Tasks and protocols

The main objects of distributed computing in the combinatorial topology language are tasks and protocols. Their ingredients are chromatic complexes, chromatic carriers and chromatic simplicial maps. So, we present distributed systems via simplicial complexes as it is done in Herlihy et al. (2014), the book we follow, particularly chapters 8 and 11. Recall that if \(\Gamma \) is a simplicial complex, a subset \(\Gamma '\subseteq \Gamma \) is a subcomplex of \(\Gamma \) if \(\Gamma '\) itself is a simplicial complex; in particular, the power set \(\mathcal {P}(\Gamma )\) contains each subcomplex of \(\Gamma \).

Definition 3

(Sect. 3.4 (Herlihy et al. 2014)) A carrier map \(\mathcal {T}\) from a simplicial complex \(\Delta \) into a simplicial complex \(\Gamma \) is a monotonic function (with respect to inclusions) \(\mathcal {T}:\Delta \rightarrow \mathcal {P}(\Gamma )\) that assigns to each simplex \(\sigma \in \Delta \) a subcomplex \(\mathcal {T}(\sigma )\) of \(\Gamma \). It is strict whenever \(\mathcal {T}(\sigma \cap \tau )=\mathcal {T}(\sigma )\cap \mathcal {T}(\sigma )\).

If we have two chromatic simplicial complexes colored with the same colors, then we require that simplicial and carrier maps defined between them preserve colors. To formalize this we require some notation. When we mention chromatic simplicial complexes, we assume they have a fixed coloration. We always use the letter \(\chi \) to refer colorations. When \(\Delta \) is a simplicial complex \(\chi (\Delta )\) is the direct image of \(V(\Delta )\) under \(\chi \).

Definition 4

A carrier map \(\mathcal {T}\) between two chromatic complexes \(\Delta \) and \(\Gamma \) is chromatic if \(\chi _{\Gamma }(\mathcal {T}(\sigma ))=\chi _{\Delta }(\sigma )\) for each \(\sigma \in \Delta \). A chromatic simplicial map between two chromatic complexes is a simplicial map \(f:\Delta \rightarrow \Gamma \) satisfying \(\chi _{\Delta }(f(v))=\chi _{\Gamma }(v)\) for every vertex of \(\Delta \).

As we have said, tasks are one of the main objects in distributed computing via combinatorial topology. Although they are computational objects, they have a pure mathematical definition.

Definition 5

(Definition 8.2.1 (Herlihy et al. 2014)) Let I and O be pure simplicial chromatic complexes colored by \(\mathbb {P}\). A task is a triple \((I,O,\mathcal {T})\) such that \(\mathcal {T}\) is a chromatic carrier map \(\mathcal {T}:I\rightarrow \mathcal {P}(O)\). The complex I is called input complex and O is called output complex.

We give some intuition of the meaning of this definition in distributed computing because it could help to understand the following section. However, it is not necessary to have this intuition in order to understand the relation of solvability between tasks and protocols presented below.

Informally, a task is a problem. Consider the task \((I,O,\mathcal {T})\). Intuitively each color in \(\mathbb {P}\) represents a finite deterministic automata commonly called process. Each facet of the input complex represents a possible assignation of input values to processes. If we use our notation for vertices in pseudospheres to any chromatic simplicial complex, each vertex in I is a pair (pv) where p is a process and v is its input value. An analogous idea describes the output complex: the second component of any vertex \((p,w)\in O\) corresponds to the situation in which process p has decided w or has output value w. The carrier map restricts output values in the following way. If \(\sigma \in I\), then the output values that \(\mathcal {T}\) accepts for \((p,v)\in \sigma \) are those vertices of \(\mathcal {T}(\sigma )\) colored by p. Observe that even when p is a deterministic automata, its valid output values for \(\mathcal {T}\) depend on the input values of other processes.

Solving a task is to make every process to decide a valid output value. Thus, we need to bring a communication algorithm to all processes. Communication may be defined independently from tasks. An algorithm that only determines communication between processes without making them to decide a value is a protocol. Protocols are computational objects and, as tasks, have a pure mathematical definition.

Definition 6

A protocol is a triple \((I,P,\mathcal {E})\) such that I and P are chromatic simplicial complexes colored by \(\mathbb {P}\), \(\mathcal {E}\) is a chromatic strict carrier map \(\mathcal {E}:I\rightarrow \mathcal {P}(P)\) and \(P=\bigcup _{\sigma \in I}\mathcal {E}(\sigma )\). The carrier map \(\mathcal {E}\) is called execution map and P is called protocol complex.

If we have a vertex \((p,v)\in P\), we can think of v as the view of p; informally V consists of all the things p has seen or listen. This explains why the above definition needs protocols to be strict: if a process p just sees processes \(p_{0},\ldots ,p_{k}\), then its view just depends on them and their views. After communication has finished, we can design an algorithm to solve a task. Each process must decide an output value depending on its view. This is formally defined below.

Definition 7

The protocol \((I,P,\mathcal {E})\) solves the task \((I,O,\mathcal {T})\) if there is a chromatic simplicial map \(d:P\rightarrow O\) such that \(d(\mathcal {E}(\sigma ))\subseteq \mathcal {T}(\sigma )\) for each \(\sigma \in I\).

From the above definition, the existence of a particular kind of protocol that solves a task is equivalent to the existence of a chromatic simplicial map from the protocol complex to the output complex. Many techniques of algebraic topology have been applied to different instances of this problem; here we present one of those applications.

4.2 Pseudospheres and connectivity of protocols

We present a brief exposition of the techniques of combinatorics and topology used in distributed computing. We focus on a result (Herlihy et al. 2000, Theorem 4.3) related to k-set agreement.

We begin with a concrete example of the k-set agreement task. The binary consensus task is the instance of the k-set agreement task corresponding to \(k=1\). The carrier \(\mathcal {T}\) is depicted in Fig. 6. Think of this task as a situation in which processes must agree on one value and it should be the input value of one of them. Assume we have a protocol \((I,P,\mathcal {E})\) where I is the input complex of the binary consensus task. Since it is impossible to have a disconnected image of the circle under a continuous map, if P is a subdivision of I, then no simplicial map satisfies Definition 7.

In the general k-set agreement task, the number of decided values cannot exceed k and just as connectedness of the input complex restricts the set of protocols that can solve consensus, \(k-1\)-connectedness is related with k-set agreement. The exact statements can be found in Herlihy et al. (2000, Theorem 5.3, Corollary 5.4). Their proof is not enlightening about how properties of pseudospheres are important. However, they need a result were pseudospheres are essential. Below we give a proof of the latter.

Fig. 6
figure 6

The 1-set agreement task or binary consensus task. We depict the carrier map indicating the image of each simplex by a dashed arrow. On the left we present the carrier map on vertices; on the right, the carrier map on edges

The theorem we will prove needs Fact 2. Although this fact is widely used in Herlihy et al. (2000) and Herlihy and Rajsbaum (2013), we must stress that the combinatorial structure of the simplicial complexes appearing there is fundamental; they are defined by pseudospheres. Below, we present the proof of one of the main theorems of Herlihy et al. (2000) because it allows us to see how the combinatorics of pseudospheres together with Fact 2 determine connectivity of some protocols.

Theorem 2

(Theorem 4.3 (Herlihy et al. 2000)) Let \(\Psi =\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) where \(V_{p}\subseteq V\), \((\Psi ,P,\mathcal {E})\) be a protocol and \(c\in \mathbb {N}\). Assume that for each l-simplex \(\sigma \in \Psi \) the simplicial complex \(\mathcal {E}(\sigma )\) is \((l-c-1)\)-connected. The protocol complex P is \((n-c-1)\)-connected.

Proof

We use the following notation \(\mathcal {E}(\Delta )=\bigcup _{\sigma \in \Delta }\mathcal {E}(\sigma )\) for any subcomplex \(\Delta \subseteq \Psi \). We will prove that \(\mathcal {E}(\Psi ')\) is \((m-c-1)\)-connected for any pseudosphere \(\Psi '\subseteq \Psi \) of dimension \(m\ge c\). Notice that any \(\Psi '\) is a pseudosphere \(\Psi (\mathbb {P},U_{p}\mid p\in \mathbb {P})\) for some \(U\in \mathcal {P}(V)^{\mathbb {P}}\) (from Theorem 1, pseudospheres of lower dimensions are obtained by letting \(U_{p}=\emptyset \)).

We proceed by induction on \(U\in \mathcal {P}(V)^{\mathbb {P}}\) with the following order: \(U\le W\) if and only if \(U_{p}\subseteq W_{p}\). We do not have the case \(U_{p}=\emptyset \) for every p because in this case \(\dim (\Psi ')=-1<c\).

The inductive basis, when \(U\in \mathcal {P}(V)^{\mathbb {P}}\) is minimal, corresponds to the case when \(\Psi '\) is an m-simplex because \(U\in \mathcal {P}(V)^{\mathbb {P}}\) is minimal if and only if \(\#U_{p}\le 1\) for each p. So, the inductive basis is our hypothesis.

Assume that the result holds for every \(W<U\). Let \(q\in \mathbb {P}\). By the inductive basis we may assume that \(\#U_{q}>1\). Define \(W_{p}=U_{p}\) for \(p\ne q\) and \(W_{q} = U_{q}{\setminus }\{v\}\). Also consider the sets \(W'_{p}=U_{p}\) for \(p\ne q\) and \(W'_{q}=\{v\}\).

From Theorem 1 a facet of \(\Psi (\mathbb {P},U_{p}\mid p\in \mathbb {P})\) is a facet of \(\Psi (\mathbb {P}{\setminus }\{q\},U_{p}\mid p\in \mathbb {P}{\setminus }\{q\})\) plus a vertex (qx) with \(x\in W_{q}\cup W'_{q}\); in other words

$$\begin{aligned} \Psi (\mathbb {P},U_{p}\mid p\in \mathbb {P})=\Psi (\mathbb {P},W_{p}\mid p\in \mathbb {P})\cup \Psi (\mathbb {P},W'_{p}\mid p\in \mathbb {P}) \end{aligned}$$

To follow the notation of Fact 2 set \(\Psi (\mathbb {P},U_{p}\mid p\in \mathbb {P})=Z\), \(\Psi (\mathbb {P},W_{p}\mid p\in \mathbb {P})=X\) and \(\Psi (\mathbb {P},W'_{p}\mid p\in \mathbb {P})=Y\). Notice that since \(W,W'<U\), from the inductive hypothesis \(\mathcal {E}(X)\) and \(\mathcal {E}(Y)\) are \((m-c-1)\)-connected where

$$\begin{aligned} m=\dim (X)=\dim (Y)=\#\{U_{p}\mid U_{p}\ne \emptyset \}-1 \end{aligned}$$

.

From Proposition 1, \(X\cap Y=\Psi (\mathbb {P},U'_{p}\mid p\in \mathbb {P})\) where \(U'_{p}=U_{p}\) for \(p\ne q\) and \(U'_{q}=\emptyset \). It is clear that \(U'<U\) and \(X\cap Y\) is a pseudosphere of dimension \(m-1\). Notice that if \(m-1<c\), then \(m=c\) and the result follows from the fact that \(\mathcal {E}\) is a chromatic carrier map and therefore \(\mathcal {E}(\Psi ')\) is non-empty. So, assume \(m-1\ge c\).

From Definition 6, the map \(\mathcal {E}\) is strict, hence \(\mathcal {E}(X\cap Y)=\mathcal {E}(X)\cap \mathcal {E}(Y)\). The inductive hypothesis ensures us that \(\mathcal {E}(X\cap Y)\) is \((m-c-2)\)-connected. Consequently, by Fact 2, the complex \(\mathcal {E}(Z)\) is \((m-c-1)\)-connected. \(\square \)

Theorem 2 is needed to get the impossibility results (Herlihy et al. 2000, Theorem 5.3, Corollary 5.4) about solvability of k-set agreement. We do not write their statements because our goal in this section was to explain how combinatorial properties of pseudospheres are used in distributed computing and neither they nor their proofs help us tho achieve that goal. However, we point out that Herlihy et al. (2000, Corollary 5.4) is used in Herlihy and Rajsbaum (2013) together with shellability of pseudospheres to determine more impossibility results about k-set agreement.

We coarsely have seen how the structure of pseudospheres determines solvability of tasks. These are our main reasons to study pseudospheres by themselves.

5 Topology of pseudospheres: shellability and matroids

One of the most important properties of pseudospheres is that they are shellable complexes. In this section we present the basics of shellable complexes and give a proof of shellability of pseudospheres using matroids. This is proven in Herlihy et al. (2014) but here we will see that pseudosphere are shellable because they are matroids. As a consequence we get that any pseudosphere is homotopy equivalent to a wedge of spheres.

5.1 Basics of shellability

We only need pure shellable complexes; non-pure shellable complexes have a complete description of their homology and homotopy type (Björner and Wachs 1996, 1997) but we only need the pure case.

Definition 8

A shelling order of a pure simplicial complex \(\Delta \) is a total order, say <, of its facets such that, for every non-minimum facet F with respect to the shelling order, the complex \((\bigcup _{G<F}G)\cap F\) is a pure subcomplex of F whose dimension is \(\dim (F)-1\). In this situation \(\Delta \) is said to be shellable.

To present the homology and homotopy type of shellable complexes we require a definition.

Definition 9

Let \(\Delta \) be a shellable complex with shelling order <. A facet F of \(\Delta \) is called spanning facet if \((\bigcup _{G<F}G)\cap F=\partial F\), that is, \((\bigcup _{G<F}G)\cap F\) is the whole boundary of F.

Notice that the above definition depends on the shelling order but without loss of generality we can assume spanning facets come last in the shelling order.

For the next result we need some notation. The wedge sum of the topological spaces \(X_{j}\) is denoted by \(\bigvee _{j\in J}X_{j}\). The proof of the following theorem can be found in Björner and Wachs (1996, Theorem 4.1) and Kozlov (2008, Theorem 12.3). We remark that once they get the homotopy equivalence below, the connectivity of \(\Delta \) and the formula for homology follow from Fact 3.

Theorem 3

Take a shellable pure complex \(\Delta \) of dimension d and assume \(\Sigma \) is the set of spanning facets of \(\Delta \) according to a shelling order. There is a homotopy equivalence

$$\begin{aligned} \vert \Delta \vert \simeq \bigvee _{F\in \Sigma }\vert F\vert /\vert \partial F\vert . \end{aligned}$$

Consequently \(\Delta \) is \((d-1)\)-connected and

$$\begin{aligned} \tilde{H}_{i}(\Delta )\cong {\left\{ \begin{array}{ll} \mathbb {Z}^{\#\Sigma }&{}\text {if }\,\,i=d\\ 0&{}\text {if }\,\,i\ne d. \end{array}\right. } \end{aligned}$$

5.2 Matroids and homology of pseudospheres

In Herlihy et al. (2014, Theorem 13.3.6) it is proven that any pseudosphere is shellable. In fact that proof is a particular case of Björner (1992, Theorem 7.3.4) (reproduced below). The reason is that pseudospheres are matroid complexes. Despite this, there is no mention of matroid theory in Herlihy et al. (2014). We offer a simple proof of the fact that pseudospheres are matroids directly from its definition.

There are several complexes associated to a matroid; we will use the complex of independent sets but, as it is mentioned in Björner (1992), these complexes are usually called matroid complexes.

Definition 10

A simplicial complex \(\Delta \) is a matroid complex if for any pair of simplices \(\sigma ,\tau \in \Delta \) with \(\dim (\tau )<\dim (\sigma )\), there is \(x\in \sigma \setminus \tau \) such that \(\tau \cup \{x\}\in \Delta \).

It is immediate that any matroid complex is pure. The conditions for the converse involve shelling orders. The following theorem can be found in Björner (1992). We do not give a proof of it because it requires some matroid theory we do not need.

Theorem 4

(Theorem 7.3.4 (Björner 1992)) A simplicial complex is a matroid complex if and only if it is pure and every total order of its vertices induces a lexicographic shelling order.

The following is stronger than Herlihy et al. (2014, Theorem 13.3.6), they show that if \(\mathbb {P}\) and \(V_{p}\) are totally ordered, the lexicographic total order so induced on \(V(\Psi )\), in turn, induces a lexicographic shelling order. We note that, so far, in applications it is not needed to have a concrete shelling order, thus the following and Theorem 4 are enough to use shellability in distributed computing.

Lemma 2

Any pseudosphere is a matroid complex.

Proof

Let \(\Psi =\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) be a pseudosphere and \(\tau \) and \(\sigma \) be simplices in \(\Psi \) such that \(\dim (\tau )<\dim (\sigma )\). If \(\mathbb {P}(\sigma )\) and \(\mathbb {P}(\tau )\) are the projections over \(\mathbb {P}\) of \(\sigma \) and \(\tau \) respectively, then \(\#\mathbb {P}(\tau )<\#\mathbb {P}(\sigma )\). Thus, there is \((p,v)\in \sigma {\setminus } \tau \) satisfying \(p\in \mathbb {P}(\sigma )\setminus \mathbb {P}(\tau )\). Therefore \(\tau \cup \{(p,v)\}\in \Psi \). \(\square \)

Theorem 5

(Theorem 13.3.6 (Herlihy et al. 2014)) Any pseudosphere is shellable.

Proof

From Lemma 2, any pseudosphere is a matroid complex. Theorem 4 implies that any order of the vertices of a pseudosphere induces a shelling order. \(\square \)

As we said, the above theorem is proven in Herlihy et al. (2014); we indicate how it is done. In the order they give, facets are viewed as \(\mathbb {P}\)-tuples and two facets are compared according to the first coordinate in which they differ. Assume \(F<G\) and they differ in its p-th coordinate. It is not difficult to see that we can change all other differing coordinates and get a facet \(H<G\) that differs from G only in the p-th coordinate. Thus \(F\cap G \subseteq H\cap G\) and \(\dim ( H\cap G)=\dim (G)-1\). This implies \(\Psi \) is shellable; the detailed proof is found in Herlihy et al. (2014, Chapter 13). There, we also find the next result.

Corollary 1

(Corollary 13.3.7 (Herlihy et al. 2014)) The pseudosphere \(\Psi =\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) with each \(V_{p}\ne \emptyset \) is homotopy equivalent to a wedge of spheres. When the wedge is non-trivial all the spheres have dimension \(\#\mathbb {P}-1\). In any case \(\Psi \) is \((\#\mathbb {P}-2)\)-connected.

Proof

Notice that \(\Psi \) is pure of dimension \(\#\mathbb {P}-1\) because each \(V_{p}\ne 0\) (it is consequence of either Theorem 1 or Definition 1). The result follows from theorems 5 and 3. \(\square \)

We observe that using the Euler characteristic and Corollary 1, we can calculate the non-vanishing Betti number of a pseudosphere (the rank of its non-trivial homology group). Also we can give a shelling order and count its spanning facets in order to calculate that number. However, we omit that calculation.

What we have done in this section is to use a well known fact about matroids and a simple observation to prove indirectly one of the most important properties of pseudospheres in distributed computing. In the following section we characterize pseudospheres as matroid complexes.

6 Partially ordered sets and chromatic complexes

We have seen that any pseudosphere is a matroid complex; in this section we answer the question about what matroid complexes are pseudospheres. We will prove that if a matroid complex is the order complex of some partially ordered set, then it is a pseudosphere. Additionally we have a characterization of pseudospheres using chromatic complexes. These characterizations are explained in the diagrams of Figs. 1 and 2.

First, we give a counterexample for the converse of Lemma 2. Consider the boundary of the 2-simplex. It is clear that this is a matroid complex. However, recall that from Proposition 1 we know that any pseudosphere is chromatic; since the boundary of the 2-simplex is not chromatic, it cannot be a pseudosphere. This could suggest that we will start with chromatic complexes, but we think it is easier to start with orders.

6.1 Characterization of pseudospheres as order complexes

We need some definitions related to partially ordered sets, all of them are standard in the literature.

Definition 11

A partially ordered set (usually abbreviated poset) is a pair \((P,<)\) where P is a set and < is a transitive, irreflexive and asymmetric relation on P. We say simply that P is a poset and < is a partial order on P. A chain C in a poset P is a subset of P such that the restriction of < to C satisfies tricotomy, that is \((C,<)\) is a total order.

Definition 12

A poset P is graded if the cardinal of any maximal chain (with respect to contention) does not depend on the chain. The rank of \(x\in P\) is \({\text {rank}}(x)=\#C-1\) where C is any chain having x as a maximum. The length of P is the maximal rank of elements in P.

Remark 1

The concept of rank in graded posets is well defined since any pair of maximal chains share cardinal, say n: take a chain C with maximum x; the number of elements we have to add to C in order to have a maximal chain is \(n-\#C\).

Definition 13

Given a poset P, its order complex is the simplicial complex \(\Delta (P)\) generated by maximal chains of P. That is, \(\sigma \subseteq P\) is a simplex in \(\Delta (P)\) if and only if \(\sigma \) is a total order with the order induced by P.

Our next goal is another contribution: a simplicial complex is a pseudosphere if and only if it is the order complex of a poset and a matroid complex. We begin with the necessary condition.

Lemma 3

Any pseudosphere is the order complex of some graded poset.

Proof

Let \(\Psi =\Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\) be a pseudosphere. Consider any total order \(<_{\mathbb {P}}\) on \(\mathbb {P}\) and define \((p,v)<(q,w)\) if and only if \(p<_{\mathbb {P}}q\), for vertices (pv) and (qw) of \(\Psi \). It is a partial order on the set of vertices of \(\psi \) because \(<_{\mathbb {P}}\) is a total order. Even more, a set of vertices of \(\psi \) is a maximal chain if and only if it is a facet. The order < defines a graded poset because \(\Psi \) is pure. \(\square \)

The above proof together with Theorem 1 give us a different proof of shellability. Any pseudosphere is the ordinal sum of trivial posets (the order relation is the identity); in Björner (1980, Theorem 4.4) it is proven that the ordinal sum of two posets is shellable if and only if both posets are shellable. Since trivial posets are shellable, pseudospheres are shellable.

The next step is to understand which posets have a matroid complex as their order complex. First, we note that the converse of the above lemma does not hold. Consider the graded poset P of length 1 whose order complex is depicted in Fig. 7. Since it is not connected, it cannot be a pseudosphere. Notice that connectedness is not enough. If we add a minimum x to P, its order complex (Fig. 8) is not shellable and therefore it is not a pseudosphere (the poset behind Fig. 8 has only two maximal chains: \(x<a<b\) and \(x<c<d\)). Even more, shellability is not enough. If we add the chain \(x<c<b\) to \(P\cup \{x\}\), the order complex thus obtained is a 2-dimensional simplicial complex that is not a pseudosphere (Fig. 9).

Fig. 7
figure 7

The order complex of the poset P defined by: \(a<b\) and \(c<d\)

Fig. 8
figure 8

The order complex of the poset mentioned in Fig. 7 with extra relations: \(x<a\) and \(x<c\)

Fig. 9
figure 9

Adding one more relation to the poset in Fig. 8 gives us an order complex that is pure of dimension 2 and shellable

Lemma 4

If \(\Delta \) is a matroid complex and the order complex of a poset P, then P is graded and any pair of vertices with different rank are comparable.

Proof

Since \(\Delta =\Delta (P)\) is a matroid, it is pure; consequently P is graded because simplices in \(\Delta \) are precisely chains in P. To finish, it is enough to show that whenever \(x,y\in P\) satisfy \({\text {rank}}(y)=r+1={\text {rank}}(x)+1\), then they are comparable. Let C be a chain with maximum y and \(C'\) be a chain with maximum x. Since \(\#C'<\#C\), from Definition 10, we conclude that there is \(z\in C\setminus C'\) such that \(C'\cup \{z\}\) is a simplex in \(\Delta \) (a chain in P). Notice that \({\text {rank}}(z)\ne {\text {rank}}(x)\); even more \({\text {rank}}(z)<{\text {rank}}(x)\) implies \(x=\max (C'\cup \{z\})\). The consequent of the last implication is false by Remark 1. Hence, it is impossible that \(z\ne y\) inasmuch as \({\text {rank}}(z)\ne {\text {rank}}(x)\). Consequently \(x<y\). \(\square \)

Notice that in a graded poset P, elements of the same rank are incomparable. So, if we take P satisfying the hypothesis of the above lemma, then a set of elements of P is a simplex in the order complex \(\Delta (P)\) if and only if it is formed by elements of different ranks. This is exactly what Definition 1 says if we use \(\mathbb {P}\) as the set of ranks. Formally, we get:

Lemma 5

Let \(\Delta \) be a simplicial complex. If \(\Delta \) is a matroid complex and the order complex of a poset, then \(\Delta \) is a pseudosphere.

Proof

Let \(\Delta \) be a matroid complex and P be a poset. Assume \(\Delta =\Delta (P)\). From the above lemma, P is a graded poset.

Let n be the length of P. Define \(V_{r}=\{x\in P\mid {\text {rank}}(x)=r\}\). We claim that

$$\begin{aligned}\Delta \cong \Psi (\{0,\ldots ,n\},V_{r}\mid r\le n).\end{aligned}$$

Let \(\Psi =\Psi (\{0,\ldots ,n\},V_{r}\mid r\le n)\) and \(V=V(\Psi )\). It is clear that \(f:P\rightarrow V\) defined by \(f(x)=({\text {rank}}(x),x)\) is a bijection.

Take a simplex \(\sigma \in \Delta \); we know that the rank function is injective when it is restricted to \(\sigma \) because \(\sigma \) is a chain. This implies that \(f(\sigma )\) is a simplex of \(\Psi \). Finally, take a simplex \(\sigma \in \Psi \). If \((r,x)\in \sigma \) we know that it is the only vertex of \(\sigma \) such that the second component has rank r in P. By Lemma 4, \((r,x),(s,y)\in \sigma \) and \(r\ne s\) implies that x and y are comparable in P. Consequently \(f^{-1}(\sigma )\) is a chain of P. That means that f is a simplicial isomorphism. \(\square \)

The following theorem is part of our main results and it is consequence of lemmas 2, 3 and 5.

Theorem 6

Let \(\Delta \) be a simplicial complex. The following are equivalent:

  1. 1.

    \(\Delta \) is a pseudosphere.

  2. 2.

    \(\Delta \) is a matroid complex and the order complex of a poset.

Proof

If \(\Delta \) is a pseudosphere, then Lemma 2 implies it is a matroid. From Lemma 3\(\Delta \) is the order complex of a poset. The other implication is precisely Lemma 5. \(\square \)

6.2 Characterization of pseudospheres as chromatic complexes

We have characterized pseudospheres as matroid complexes and order complexes. In Stanley (1979), the author explains that any order complex is chromatic and says that there is no nice characterization of chromatic complexes. Our characterization of pseudospheres shows that for matroid complexes the converse holds, even more, those complexes are precisely pseudospheres. To the best of our knowledge there is no work in this direction.

Corollary 2

If \(\Delta \) is a matroid complex and the order complex of a poset, then \(\Delta \) is chromatic.

Proof

By Theorem 6 such a complex is a pseudosphere. \(\square \)

In order to accomplish the objective of this section, we will prove that a set of vertices of a chromatic matroid complex is a simplex if and only if all colors in the set are different. Observe the similarity of the proof below with the proof of Theorem 4.

Lemma 6

Let \(\Delta \) be a chromatic matroid complex of dimension n. If \(\chi \) is an \(n+1\)-coloration of \(\Delta \), then any set \(\sigma \subseteq V(\Delta )\) such that \(\#\chi (\sigma ) =\# \sigma \) is a simplex of \(\Delta \).

Proof

The lemma is trivial if \(\Delta \) is a simplex. Let F be a facet of \(\Delta \). Since \(\Delta \) is chromatic, we know that \(\# \chi (F) =\# F \). Select a color c and take any other facet G such that there exists \(y\in G\), satisfying that if \(\chi (x)=c=\chi (y)\) for \(x\in F\), then \(x\ne y\). (If we cannot find such G, then \(\# \chi ^{-1}(c) =1\) and we can, without loss of generality, delete that vertex from \(\Delta \)). Inasmuch as \(y\in G\setminus F\), by Definition 10, there is a vertex \(x'\in F{\setminus } (G{\setminus }\{y\})\) such that \((G{\setminus }\{y\}) \cup \{x'\}\in \Delta \). It is impossible that \(x'\ne x\), since this implies that \(\chi (x)\ne \chi (x')\) and G had a vertex of color \(\chi (x')\) (because \(\Delta \) is pure and chromatic).

Consequently, we can interchange a vertex colored with c in G by any other vertex of the same color. This means that every set \(\sigma \) such that \(\# \chi (\sigma ) =\# \sigma =\dim (\Delta )+1\) is a facet. Since any simplicial complex is generated by its facets, the lemma follows. \(\square \)

Finally, another characterization of pseudospheres, this time as chromatic complexes.

Theorem 7

Let \(\Delta \) be a simplicial complex. The following are equivalent

  1. 1.

    \(\Delta \) is a pseudosphere.

  2. 2.

    \(\Delta \) is a chromatic matroid complex.

Proof

From Theorem 6, if \(\Delta \) is a pseudosphere, then it it is a matroid. In Proposition 1 we saw that pseudospheres are chromatic complexes.

We only have to show that a chromatic matroid complex is a pseudosphere. Assume \(\Delta \) is a chromatic matroid complex and \(\chi :V(\Delta )\rightarrow \mathbb {P}\) its coloration. Let \(V_{p}=\chi ^{-1}(\{p\})\), notice that \(V_{p}\) is the set of all those vertices of \(\Delta \) colored with p. The set \(\{V_{p}\mid p\in \mathbb {P}\}\) is a partition of \(V(\Delta )\).

We claim that \(\Delta \cong \Psi (\mathbb {P},V_{p}\mid p\in \mathbb {P})\). The isomorphism is the following. If vertex v is colored with p, it is mapped to (pv). Call this function f. It is clear that f is bijective. From Lemma 6 and definition of pseudosphere (Definition 1) simplices of both complexes are those sets with no repeated color. Thus f and \(f^{-1}\) are simplicial. \(\square \)

7 Pseudospheres and the Borsuk–Ulam theorem

This section is dedicated to group actions and the Borsuk–Ulam theorem. It is a classical result that was first introduced for spheres; however, it has been generalized in different aspects. For example, Matousek (2003, Theorem 6.2.5) is a generalization of the aforementioned theorem concerning G-spaces for a finite group G. Here, we explain why that result is in fact a theorem of pseudospheres and present an equivalent statement of it that is a direct generalization of the well known Tucker’s Lemma.

7.1 The Borsuk–Ulam theorem and pseudospheres

We begin explaining how the classical Borsuk–Ulam theorem is a theorem of pseudospheres. We will simplify our notation; pseudospheres \(\Psi (\mathbb {P},V)\) will be written as \(\Psi _{n}V\) where \(n=\#\mathbb {P}-1\). We do so, because we need to differentiate clearly between pseudospheres of different dimensions. Assume \(\mathbb {Z}_{2}\) acts on X. The antipodal map of X is the map induced by the action of the non-trivial element of \(\mathbb {Z}_{2}\). We continue with the usual notation for spheres: \(S^{n}\) is the n-sphere.

Recall one of the many equivalent statements of the classical Borsuk–Ulam theorem (many others can be found in Matousek (2003, Chapter 2)).

Theorem 8

(Borsuk–Ulam) There is no continuous map from \(S^{n+1}\) to \(S^{n}\) preserving antipodals.

If we take \(V=\{0,1\}\), then \(\Psi _{n}V\) is an n-sphere and the antipodal is determined by the natural action of \(\mathbb {Z}_{2}\) in V.

The statement of Matousek (2003, Theorem 6.2.5) considers a finite discrete group G and simply substitutes, in the classical statement of the Borsuk–Ulam theorem, spheres with \(E_{n}G\) spaces (we do not need to define them) and the antipodals with an action of G on the \(E_{n}G\) space. In fact, the main example of an \(E_{n}G\) space that appears in Matousek (2003) is the pseudosphere \(\Psi _{n}G\) although the word “pseudosphere” is not there. We will only show how G acts on \(\Psi _{n}G\) and present (Matousek 2003, Theorem 6.2.5) written for pseudospheres.

For this section we need some theory of G-spaces; since we do not intend to develop these topics completely we follow Matousek (2003, Chapter 6) and talk exclusively of G-spaces where G is finite and has the discrete topology. General concepts of G-spaces are contained in the paragraph below. The material concerning simplicial complexes will be treated separately.

Throughout this section let G be a finite group with the discrete topology. We recall a well known concept from group theory.

Definition 14

A G-action on a set X is a function \(\rho \) from G into the symmetric group of X (Rotman 1995, Theorem 3.18).Footnote 2 A G-set is a pair \((X,\rho )\) where X is a set and \(\rho \) is a G action on X.

When \(\rho \) is clear we usually say simply that X is a G-set and use gx as an abbreviation of \(\rho (g)(x)\). As customary, the orbit of \(x\in X\) is the set \(Gx=\{gx\mid g\in G\}\).

The generalization of the Borsuk–Ulam theorem (Matousek 2003, Theorem 6.2.5) we will present needs a special kind of G-sets. Hence we want that actions satisfy some extra conditions. The following definitions are slightly different from Matousek (2003, definitions 6.1.1 and 6.2.1). We present a pure combinatorial definition of simplicial G-complexes and only focus on G-spaces where G is discrete.

Definition 15

Let \(\Delta \) be a simplicial complex and X be a topological space. We say that

  1. 1.

    \(\Delta \) is a simplicial G-complex if \(V(\Delta )\) is a G-set and the action of g is simplicial for each \(g\in G\), in other words \(\rho (g):\Delta \rightarrow \Delta \) is a simplicial map. A simplicial map \(f:\Delta \rightarrow \Gamma \) between simplicial G-complexes is a simplicial G-map if \(f(gv)=gf(v)\) for every \(v\in V(\Delta )\) and \(g\in G\).

  2. 2.

    X is a G-space if it is a G-set and the action of g is continuous for each \(g\in G\), that is \(\rho (g):X\rightarrow X\) is continuous. A continuous function \(f:X\rightarrow Y\) between two G-spaces is a G-map whenever \(f(gx)=gf(x)\) for every \(x\in X\) and \(g\in G\).

It is clear that if \(\Delta \) is a simplicial G-complex, then the family of functions \(\vert \rho (g)\vert \) induces a G-space structure on \(\vert \Delta \vert \). Indeed, in Matousek (2003, Definition 6.2.1) simplicial G-complexes are defined using geometric realizations. In the same manner, free simplicial G-complexes (defined below) use geometric realizations and free G-spaces. Instead, we provide a combinatorial definition of free simplicial G-complexes that coincides with the concept used in Matousek (2003). To the best of our knowledge there is no such a combinatorial definition of free simplicial G-complexes.

Definition 16

Let \(\Delta \) be a simplicial G-complex and X be a G-space.

  1. 1.

    X is called free when \(gx=x\) for some \(x\in X\) implies \(g=e\).

  2. 2.

    \(\Delta \) is called free if whenever g fixes some simplex in \(\Delta \), then \(g=e\).

Now, we prove that \(\Delta \) is a free simplicial G-complex if and only if \(\vert \Delta \vert \) is a free G-space. This way our definition is in fact the combinatorial counterpart of free G-spaces.

Lemma 7

If \(\Delta \) is a simplicial G-complex, then \(\Delta \) is a free simplicial G-complex if and only if \(\vert \Delta \vert \) is a free G-space with the structure induced by the action of \(\Delta \).

Proof

We will prove the negatives are equivalent. First, assume \(\Delta \) is not a free simplicial G-complex. Therefore, there exist \(g\in G{\setminus }\{e\}\) and \(\sigma \in \Delta \) such that \(g(\sigma )=\sigma \). Thus, \(\vert g\vert \) is a continuous map from a disk into itself. The Brouwer fixed point theorem (Munkres 1984, Theorem 21.2) implies \(\vert g\vert \) has a fixed point.

Conversely, assume there exist \(g\in G\setminus \{e\}\) and \(x\in \vert \Delta \vert \) such that \(\vert g\vert x=x\). Recall that the carrier of x is the minimum simplex \({\text {car}}(x)\in \Delta \) such that \(x\in \vert {\text {car}}(x)\vert \). We will prove \(g({\text {car}}(x))={\text {car}}(x)\). We know that

$$\begin{aligned} x=\sum _{v\in {\text {car}}(x)}t_{v}v \end{aligned}$$

where \(0<t_{v}\le 1\) (\(t_{v}\ne 0\) because \({\text {car}}(x)\) is minimum). Our assumption implies that

$$\begin{aligned} x=\sum _{v\in {\text {car}}(x)}t_{v}v=\sum _{v\in {\text {car}}(x)}t_{v}gv=\vert g\vert x. \end{aligned}$$

This implies \(x\in \vert {\text {car}}(x)\cap g({\text {car}}(x))\vert \). Since \({\text {car}}(x)\) is the minimum simplex whose geometric realization contains x, we conclude \({\text {car}}(x)\subseteq g({\text {car}}(x))\). Inasmuch as the action of g is simplicial, \(\dim ( g({\text {car}}(x)))\le \dim {\text {car}}(x)\). Consequently \({\text {car}}(x)=g({\text {car}}(x))\). \(\square \)

In Matousek (2003) we can find the following property of \(\Psi _{n}G\).

Lemma 8

Let G be a non-trivial finite discrete group. For any \(n\ge 0\) the pseudosphere \(\Psi _{n}G\) admits the structure of a free simplicial G-complex.

Proof

We define the action of \(g\in G\) on vertices of \(\Psi _{n}G\). Each vertex in \(\Psi _{n}G\) is a pair (ph) with \(0\le p\le n\) and \(h\in G\); so, let \(g(p,h)=(p,gh)\). We say that G acts component-wise on \(\Psi _{n}G=G^{*(n+1)}\).

According to Definition 16, we need to show that only the identity of G fixes simplices. Let \(\sigma \in \Psi _{n}G\) and \(g\in G\). Assume \(\sigma =\{(p_{i},h_{i})\mid i\in J\}\), for some index set J. From the previous paragraph it follows that \(g(\sigma )=\{(p_{i},gh_{i})\mid i\in J\}\). If g fixes \(\sigma \), then by Definition 1, \(gh_{i}=h_{i}\) for each \(i\in J\). This implies \(g=e\). \(\square \)

From now on, \(\Psi _{n}\) denotes the pseudosphere \(\Psi _{n}G\) with the action defined above. We will not need the fact that this action makes \(\Psi _{n}\) a free simplicial G-complex until the next section. However, the proof of the following theorem does. It corresponds to Matousek (2003, Theorem 6.2.5) and it is a generalization of the Borsuk–Ulam theorem. We do not prove it.

Theorem 9

(Theorem 6.2.5 (Matousek 2003)) There is no G-map from the (geometric realization of the) pseudosphere \(\Psi _{n+1}\) to the pseudosphere \(\Psi _{n}\).

7.2 Tucker’s lemma

It is well known that there are many equivalent statements of the Borsuk–Ulam theorem. One of them is Tucker’s lemma. Here we prove that just as the former is generalized by Theorem 9 there is a generalization of Tucker’s lemma that is a theorem of pseudospheres. Even more, we will show both generalizations are equivalent.

In the following proposition we identify simplicial complexes with their geometric realizations for simplicity.

Proposition 2

With the notation of Theorem 9 the following are equivalent

  1. 1.

    There is no G-map \(f:\Psi _{n+1} \rightarrow \Psi _{n}\) for each \(n\ge 0\).

  2. 2.

    There is no continuous map \(\overline{f}:\Psi _{n}*x\rightarrow \Psi _{n}\) such that the restriction \(\overline{f}\vert _{\Psi _{n}}\) is a G-map.

Before the proof, we remark how these statements only substitute spheres with pseudospheres and antipodal maps with G-actions. To be clear about this claim we recall the well known equivalent statement of the Borsuk–Ulam theorem (a proof can be found in Matousek (2003, Chapter 2)).

Theorem 10

(Borsuk–Ulam 2) There is no continuous map \(\overline{f}:B^{n+1}\rightarrow S^{n}\) such that the restriction \(\overline{f}\vert _{S^{n}}\) preserves antipodals.

Remark 2

Since G is non-trivial in Proposition 2, the pseudosphere \(\Psi _{n}\) is not contractible, whereas \(\Psi _{n}*x\) is; in fact it is a cone over \(\Psi _{n}\) just as the \((n+1)\)-ball is a cone over the n-sphere.

Proof of Proposition 2

Notice that for each \(g\in G\), the complex \(\Psi _{n}*(n+1,g)\) is a subcomplex of \(\Psi _{n+1}\). Thus, we assume \(x=(n+1,e)\) where e is the identity element of G.

Assume \(f:\Psi _{n+1} \rightarrow \Psi _{n}\) is a G-map. Define \(\overline{f}:\Psi _{n}*(n+1,e) \rightarrow \Psi _{n}\) as

$$\begin{aligned} \overline{f} = f\vert _{\Psi _{n}*(n+1,e)}. \end{aligned}$$

Clearly, the map \(\overline{f}\) is continuous and its restriction to \(\Psi _{n}\) is a G-map.

For the converse let \(\overline{f}:\Psi _{n}*(n+1,e) \rightarrow \Psi _{n}\) be a continuous map such that \(\overline{f}\vert _{\Psi _{n}}\) is a G-map. Define \(f:\Psi _{n+1}\rightarrow \Psi _{n}\) as follows. Notice that because G is finite and each \(\Psi _{n}*(n+1,g)\) is closed it is enough to define f on this closed cover in such a way that \(f\vert _{\Psi _{n}}\) is continuous. Let

$$\begin{aligned} f\vert _{\Psi _{n}*(n+1,g)} = g\circ \overline{f}\circ g^{-1}. \end{aligned}$$

Clearly \(f\vert _{\Psi _{n}*(n+1,g)}\) is continuous and \(f\vert _{\Psi _{n}}=\overline{f}\) is continuous. By definition it is a G-map. \(\square \)

Now, in order to get a generalization of Tucker’s lemma we need its classical statement. Recall a triangulation of a topological space X is a simplicial complex \(\Delta \) such that \(\vert \Delta \vert \cong X\).

Theorem 11

(Tucker’s lemma) Let \(\Delta \) be a triangulation of \(B^{n+1}\) that is antipodally symmetric on \(S^{n}\); that is if \(\tau \in \Delta \) is a simplex in \(S^{n}\), then \(-\tau \in \Delta \). There is no simplicial map f from \(\Delta \) into the octahedral sphere \(\Psi _{n}\mathbb {Z}_{2}\) such that its restriction to \(S^{n}\) is a \(\mathbb {Z}_{2}\)-map.

As we noticed before (Remark 2), the ball \(B^{n+1}\) is the cone over \(S^{n}\). On the other hand, \(\Psi _{n}\mathbb {Z}_{2}\) is the minimum antipodally symmetric triangulation of \(S^{n}\). So, we generalize this kind of triangulations using subdivisions of the cone of \(\Psi _{n}G\). We recall the formal definition of subdivisions (Munkres 1984, Sect. 2.15), however, we only use it to gain intuition since we just need a few aspects of subdivisions that are clear from the following definition. For a complete discussion about subdivisions we refer to Munkres (1984, Sect. 2.15).

Definition 17

Let \(\Delta \) and \(\Delta '\) be simplicial complexes. We say \(\Delta '\) is a subdivision of \(\Delta \) if there are geometric realizations \(\vert \Delta \vert \) and \(\vert \Delta '\vert \) such that

  • the geometric realization of each simplex in \(\Delta '\) is contained in the geometric realization of a simplex in \(\Delta \) and

  • for each \(\sigma \in \Delta \), there is a subcomplex \(\sigma '\) of \(\Delta '\) such that \(\vert \sigma \vert =\vert \sigma '\vert \).

The first aspect about subdivisions is that \(\vert \Delta \vert =\vert \Delta '\vert \). Even more, each vertex of \(\Delta \) is also a vertex of \(\Delta '\); intuitively, this means that a subdivision is obtained from a simplicial complex in a combinatorial fashion. We are substituting the simplex \(\sigma \in \Delta \) with the simplicial complex \(\sigma '\). We support this intuition with an example, so we recall barycentric subdivisions.

Definition 18

The first barycentric subdivision \({\text {Bar}}(\Delta )\) of a simplicial complex \(\Delta \) is the order complex of \(\Delta \) seen as a poset. The N-th barycentric subdivision of \(\Delta \) is the first barycentric subdivision of \({\text {Bar}}^{N-1}(\Delta )\).

In other words, simplices of \({\text {Bar}}(\Delta )\) are chains of simplices of \(\Delta \). In Fig. 10 we find the usual picture of a barycentric subdivision. As we can see we substituted each simplex with its barycentric subdivision. The central vertex, the barycenter of the triangle, corresponds to the unique facet of the 2-simplex. In general, the barycenter of a simplex corresponds to the unique facet of the simplex.

Fig. 10
figure 10

The first barycentric subdivision of a 2-simplex

Remark 3

From Fig. 10 we extract the other important aspect of subdivisions we are interested in. It is very intuitive and well known (Munkres 1984, Theorem 15.4) that given a simplicial complex \(\Delta \) and \(\varepsilon >0\) we can find a barycentric subdivision of \(\Delta \) such that the maximum diameter of a simplex in the subdivision is less that \(\varepsilon \).

We can define G-symmetric subdivisions.

Definition 19

Let \((\Delta ,\lambda )\) be a simplicial G-complex. A subdivision \(\Delta '\) is G-symmetric if it is a simplicial G-complex \((\Delta ',\rho )\) and \(\lambda (g)v=\rho (g)v\) for each \(v\in V(\Delta )\) and \(g\in G\).

We have two remarks about the above definition.

Remark 4

We maintain the notation used in Definition 17 for \(\sigma \) and \(\sigma '\). Notice that the action \(\rho (g)\) of \(g\in G\) on \(\Delta '\) extends \(\lambda (g)\) to \(V(\Delta ')\). Therefore, \(\vert \rho (g)\vert =\vert \lambda (g)\vert \) (because \(\vert \Delta \vert =\vert \Delta '\vert \)). Thus, we will not differentiate between both actions when we have a G-symmetric subdivision of a simplicial G-complex.

From the previous remark it is clear that a triangulation of \(B^{n+1}\) is antipodally symmetric on \(S^{n}\) if and only if the triangulation induced on \(S^{n}\) is a subdivision \(\mathbb {Z}\)-symmetric of \(\Psi _{n}\mathbb {Z}_{2}\) (just notice that in both cases if we add a vertex to a simplex in \(\Psi _{n}\mathbb {Z}_{2}\) we must add its antipodal).

Remark 5

Observe that the barycentric subdivision of a simplicial G-complex \(\Delta \) is G-symmetric. We describe the action of G on \({\text {Bar}}(\Delta )\). Any vertex of \({\text {Bar}}(\Delta )\) is a simplex \(\sigma \in \Delta \), the action of g in \(\sigma =\{v_{0},\ldots ,v_{k}\}\) is simply \(g\sigma =\{gv_{0},\ldots ,gv_{k}\}\).

Now we can generalize Tucker’s lemma.

Theorem 12

Let \(\Psi _{n}=\Psi (\{0,\ldots ,n\},G)\) and \(x\notin V(\Psi _{n})\). The following are equivalent.

  1. 1.

    There is no simplicial map \(f:\Delta \rightarrow \Psi _{n}\) satisfying the following: \(\Delta \) is a subdivision of \(\Psi _{n}*x\), the induced subdivision on \(\Psi _{n}\), say \(\Gamma \), is G-symmetric and \(f\vert _{\Gamma }\) is a G-map.

  2. 2.

    There is no continuous map \(\overline{f}:\vert \Psi _{n}*x\vert \rightarrow \vert \Psi _{n}\vert \) such that the restriction \(\overline{f}\vert _{\vert \Psi _{n}\vert }\) is a G-map.

Proof

By Remark 4 the continuous statement implies the discrete one because they are negatives. We only need to show the other implication.

Assume there is a continuous map \(\overline{f}:\vert \Psi _{n}*x\vert \rightarrow \vert \Psi _{n}\vert \) such that the restriction \(\overline{f}\vert _{\vert \Psi _{n}\vert }\) is a G-map. Also, we assume both \(\vert \Psi _{n}*x\vert \) and \(\vert \Psi _{n}\vert \) have a metric giving them the adequate topology. Notice that \(\Psi _{n}*x\) is a simplicial G-complex when G acts trivially on x. This action coincides with the left multiplication of G on the second component of \(\Psi _{n}\).

We will construct f as a simplicial approximation of \(\overline{f}\). We use the following notation. The open star of a vertex v will be denoted by \({\text {St}}(v)=\bigcup _{v\in \sigma }\vert \sigma \vert ^{\circ }\) (we do not indicate the simplicial complex where the open star is considered because it will be clear from the context). The stars \({\text {St}}(w)\) with \(w\in V(\Psi _{n})\) form an open cover of \(\vert \Psi _{n}\vert \). Let \(\varepsilon \) be the Lebesgue number of that cover (tom Dieck 2008, Proposition 2.6.4).

Using that G is finite and that \(\overline{f}\) and each g are uniformly continuous, there exists \(0<\delta <\varepsilon \) such that

$$\begin{aligned} \overline{f}(B_{\delta }(y))\subseteq B_{\varepsilon }(\overline{f}(y)) \end{aligned}$$

for each \(y\in \vert \Psi _{n}*x\vert \) and

$$\begin{aligned} g^{-1}\overline{f}g(B_{\delta }(z))\subseteq B_{\varepsilon }(g^{-1}\overline{f}g(z)) \end{aligned}$$

for each \(z\in \vert \Psi _{n}\vert \) and \(g\in G\). Now, the last inclusion is

$$\begin{aligned} g^{-1}\overline{f}g(B_{\delta }(y))\subseteq B_{\varepsilon }(\overline{f}(z)) \end{aligned}$$

because \(\overline{f}\vert _{\vert \Psi _{n}\vert }\) is a G-map.

Remark 3 ensures we can take a barycentric subdivision \({\text {Bar}}^{N}(\Psi _{n}*x)\) such that \({\text {diam}}({\text {St}}(v))<\delta \) for each \(v\in V({\text {Bar}}^{N}(\Psi _{n}*x))\). Observe that any barycentric subdivision is G-symmetric. By our choice of \(\varepsilon \) and \(\delta \), we conclude that for each \(v\in V({\text {Bar}}^{N}(\Psi _{n}*x))\) there exists \(w\in V(\Psi _{n})\) such that

$$\begin{aligned} \overline{f}({\text {St}}(v))\subseteq B_{\varepsilon }(\overline{f}(v))\subseteq {\text {St}}(w). \end{aligned}$$

Now, take a complete representative system of the orbits of \(V({\text {Bar}}^{N}(\Psi _{n}))\), say R. For each \(v\in R\) choose \(f(v)\in V(\Psi _{n})\) such that

$$\begin{aligned} \overline{f}({\text {St}}(v))\subseteq B_{\varepsilon }(\overline{f}(v))\subseteq {\text {St}}(f(v)). \end{aligned}$$

Notice that

$$\begin{aligned} g^{-1}\overline{f}({\text {St}}(gv))=g^{-1}\overline{f}g({\text {St}}(v))\subseteq B_{\varepsilon }(\overline{f}(v)). \end{aligned}$$

By our choice of f(v), we conclude that

$$\begin{aligned} g^{-1}\overline{f}({\text {St}}(gv))\subseteq {\text {St}}(f(v)). \end{aligned}$$

Consequently

$$\begin{aligned} \overline{f}({\text {St}}(gv))\subseteq {\text {St}}(gf(v)). \end{aligned}$$

This implies that we can define \(f(gv)=gf(v)\) on \(V({\text {Bar}}^{N}(\Psi _{n}))\). On all other vertices, proceed as in the Simplicial Approximation Theorem (Munkres 1984, Sect. 2.16). \(\square \)

From Theorem 9:

Theorem 13

Let \(\Psi _{n}=\Psi (\{0,\ldots ,n\},G)\) and \(x\notin V(\Psi _{n})\). There is no simplicial map \(f:\Delta \rightarrow \Psi _{n}\) satisfying the following: \(\Delta \) is a subdivision of \(\Psi _{n}*x\), the induced subdivision on \(\Psi _{n}\), say \(\Gamma \), is G-symmetric and \(f\vert _{\Gamma }\) is a G-map.

8 Solubility and pseudospheres

Inasmuch as pseudospheres are joins of finite sets, the pseudosphere \(\Psi _{n}G=G^{*(n+1)}\) is the total space of the n-universal bundle defined in (Milnor 1956). This implies that for any free simplicial G-complex \(\Delta \) of dimension n there is a G-map \(f:\vert \Delta \vert \rightarrow \vert \Psi _{n}\vert \). The details can be found in (Steenrod 1951, Chapter 19). Here we see that it is possible to use this fact in distributed computing.

We will not need the complete background of bundles. We know the existence of f and in order to use it in distributed computing, we need that f satisfy some properties. Thus we will construct a suitable simplicial G-map \(f:\Delta \rightarrow \Psi _{n}\). Recall \(\chi \) always denotes a coloration.

Lemma 9

Let I be a free simplicial G-complex. Assume that I is pure of dimension at most n, chromatic and that the action of each \(g\in G\) is chromatic. There exists a chromatic simplicial G-map \(f:I\rightarrow \Psi _{n}\).

Proof

Let R be a complete system of representatives of the orbits of V(I) under the action of G. Define \(f:R\rightarrow V(\Psi _{n})\) in such a way that \(\chi (v)=\chi (f(v))\). Extend f to the whole set of vertices of I as follows \(f(gv)=gf(v)\) for each \(v\in R\) and \(g\in G\). This extension is possible because \(gv=hw\) with \(v,w\in R\) implies \(v=w\) (because of the choice of R); inasmuch as G acts freely on I, we get \(g=h\).

Let us see f is the desired function. We begin showing \(\chi (f(w))=\chi (w)\) for each \(w\in V(I)\). Take \(gv\in Gv\) with \(v\in R\). Since the action of G in I is simplicial and chromatic, we know that \(\chi (gv)=\chi (v)\). Now, \(f(gv)=gf(v)\) by definition. Inasmuch as the action of G in \(\Psi _{n}(G)\) is chromatic, we know that \(\chi (f(gv))=\chi (gf(v))=\chi (f(v))\). By definition, \(\chi (v)=\chi (f(v))\).

It is clear that if f is simplicial, it must be a G-map, so we only need to show f is simplicial. Take \(\sigma \in I\). Since I is chromatic, then \(\# \chi (\sigma ) =\# \sigma \). From the above paragraph \(\# \chi (f(\sigma )) =\# f(\sigma ) \le n+1\). This condition implies \(f(\sigma )\) is a simplex in \(\Psi _{n}\). \(\square \)

We will use wait-free layered snapshot protocols, these protocols are determined by a subdivision operator.

Definition 20

(Herlihy and Shavit 1999) Let \(\sigma \) be a simplex. The standard chromatic subdivision of \(\sigma \) is the simplicial complex \({\text {Ch}}(\sigma )\) whose vertices are \(V=\{(v,\tau )\mid \tau \subseteq \sigma ,v\in \tau \}\) and it is generated by all sets \(\{(v,\tau _{v})\mid v\in \sigma \}\) such that

  1. 1.

    \(\tau _{v}\subseteq \tau _{w}\) or \(\tau _{w}\subseteq \tau _{v}\) for each \(v,w\in \sigma \).

  2. 2.

    If \(v\in \tau _{w}\), then \(\tau _{v}\subseteq \tau _{w}\).

If we have a chromatic simplicial complex \(\Delta \) its standard chromatic subdivision is obtained by replacing all its simplices by their standard chromatic subdivisions; formally speaking

$$\begin{aligned} {\text {Ch}}(\Delta )=\bigcup _{\sigma \in \Delta }{\text {Ch}}(\sigma ). \end{aligned}$$

This subdivision is denoted by \({\text {Ch}}(\Delta )\). Clearly we can iterate this procedure; any subdivision obtained in this way is an iterated standard chromatic subdivision of \(\Delta \) and it is denoted by \({\text {Ch}}^{n}(I)\) for some \(n\in \mathbb {N}\).

Although it is easy to see that the standard chromatic subdivision is a chromatic simplicial complex (the color of a vertex is the color of its first coordinate), we will not prove that the standard chromatic subdivision is in fact a subdivision, a complete proof can be found in (Kozlov 2012).

Fig. 11
figure 11

A 2-simplex and its standard chromatic subdivision. We indicate with arrows the second coordinate of some vertices in the subdivision

Now, we can define the protocols we are interested in.

Definition 21

Let I be a pure chromatic simplicial complex. The wait-free single-layer immediate snapshot protocol with input complex I is the triple \((I,{\text {Ch}}(I),{\text {Ch}})\). A wait-free layered immediate snapshot protocol with input complex I is a triple \((I,{\text {Ch}}^{n}(I),{\text {Ch}}^{n})\). Inasmuch as we only use wait-free layered immediate snapshot protocols, we call them just WF-protocols.

Let us give some intuition about the meaning of Fig. 11. The subdivision is the protocol complex of a single-layer WF-protocol with input complex just a 2-simplex. The local state of each process is the label of the vertex representing it. Intuitively this protocol indicates to each process to communicate its input value, then receive some other values without waiting for them; that is, the process has a receive operation that blocks the reception of values when it is called. In the subdivision, the vertex labeled \(\{a\}\) represents the local view of the white process when it does not see any other input value. The gray vertex, labeled \(\{b,c\}\), indicates that the gray process knows the input of b an its own. Finally, the black vertex, labeled \(\{a,b,c\}\), represents the situation in which it knows all inputs. These labels are symmetric with respect to colors.

According to Definition 7, there is a WF-protocol that solves the task \((\Psi _{n},O,\mathcal {T}')\) if there are an \(N\in \mathbb {N}\) and a chromatic simplicial map \(d:{\text {Ch}}^{N}(\Psi _{n})\rightarrow O\) such that \(d({\text {Ch}}^{N}(\sigma ))\subseteq \mathcal {T}'(\sigma )\) for each \(\sigma \in \Psi _{n}\).

Lemma 10

Let I be a free simplicial G-complex such that the action of each \(g\in G\) is chromatic. If there is a WF-protocol that solves the task \((\Psi _{n},O,\mathcal {T}')\), then there is a chromatic simplicial map \(d':{\text {Ch}}^{N}(I)\rightarrow O\) for some \(N\in \mathbb {N}\).

Proof

From Lemma 9 we know that there is a chromatic simplicial G-map \(f:I\rightarrow \Psi _{n}\). Let \({\text {Ch}}(f):V({\text {Ch}}(I))\rightarrow V({\text {Ch}}(\Psi _{n}))\) be the function defined by

$$\begin{aligned} {\text {Ch}}(f)(p,\sigma )=(f(p),f(\sigma )). \end{aligned}$$

It is clear, that \({\text {Ch}}(f)\) defines a chromatic simplicial map. Iterating this construction we get a chromatic simplicial map \({\text {Ch}}^{N}(f):{\text {Ch}}^{N}(I)\rightarrow {\text {Ch}}^{N}(\Psi _{n})\). If d is the function of discussed above this lemma, let \(d'=d\circ {\text {Ch}}^{N}(f)\). \(\square \)

Now, we can give a condition on solvability of tasks using pseudospheres.

Theorem 14

Assume the task \((\Psi _{n},O,\mathcal {T}')\) admits a WF-protocol. Let \((I,O,\mathcal {T})\) be a task where I is a free simplicial G-complex such that each \(g\in G\) acts as a chromatic map. If the function f of Lemma 9 satisfies that \(\mathcal {T}'(f(\sigma ))\subseteq \mathcal {T}(\sigma )\) for each \(\sigma \in I\), then the task \((I,O,\mathcal {T})\) admits a WF-protocol.

Proof

In the proof we use the notation we have used before. From the above lemma, we know that \(d\circ {\text {Ch}}^{N}(f):{\text {Ch}}^{N}(I)\rightarrow O\) is a chromatic simplicial map. Now, take \(\sigma \in I\) and \(\tau \in {\text {Ch}}^{N}(\sigma )\). By definition, \({\text {Ch}}^{N}(f)(\tau )\in {\text {Ch}}^{N}(f(\sigma ))\). Since d is a decision map, we have that \(d\circ {\text {Ch}}^{N}(f)(\tau )\in \mathcal {T}'(f(\sigma ))\). Our hypothesis implies the theorem. \(\square \)

9 Conclusions

We have presented an overview of the role that pseudospheres have played in the theory of distributed computing, identifying the combinatorial and topological properties that have made them so useful. They were defined in this area as models of situations were individual components of a distributed system can take independent values. We showed that pseudospheres are interesting objects in themselves, as they can be studied under different mathematical perspectives. Specifically, studying the combinatorial structure of pseudospheres, we showed that, in a sense, the intersection of the theory of finite matroids and the theory of posets is the theory of pseudospheres. The fact that pseudospheres are matroids gave us a new proof of shellability of pseudospheres, one of the most important properties used in distributed computing (Herlihy and Rajsbaum 2013). This provided us an alternative proof to Herlihy et al. (2014, Theorem 13.3.6). Using matroid theory we can see that pseudospheres are shellable because they are matroids.

Using group actions we related pseudospheres with Tucker’s lemma and gave a solvability condition for distributed tasks that uses symmetries of input complexes.

There are several possible avenues for future research. We have presented several combinatorial properties that pseudospheres share with spheres: they are joins of pseudospheres of lower dimension, the Borsuk–Ulam Theorem and Tucker’s lemma are theorems of pseudospheres. It would be interesting to look for additional properties. For example, since Ky Fan’s lemma implies Tucker’s lemma (Fan 1952), it may be a good starting point. Another one may be a theorem of type Lusternik–Schnirelmann (Matousek 2003, Theorem 2.1.1 (LS-c)) because it is equivalent to the Borsuk–Ulam theorem.

It would be interesting to explore the implications of the fact that pseudospheres are clique complexes of complete multipartite graphs. Also, recently we discovered that Klee (Klee 2009) studies a family of balanced (chromatic) simplicial complexes that contains the family of pseudospheres. In that paper, shellability is not mentioned and we do not know whether the reverse inclusion is true.

It would also be interesting to look for new uses of pseudospheres in distributed computing, particularly inspired by looking at pseudospheres from different mathematical perspectives. For example, they could be useful to close the open problems left in (Goubault et al. 2019). Also, we believe that a better understanding of how protocols act on pseudospheres could be useful. For instance, Theorem 2 is a result that says how a class of protocols act on a pseudosphere. Can we ease the hypothesis? Can we get warranties other than connectivity when a protocol acts on a pseudosphere? Finally, notice the following. We found that pseudospheres are posets. By definition carrier maps are order preserving and decision maps are also order preserving when they are considered acting on simplices. The condition of solvability is an order relation. It is known that finite topological spaces (spaces with a finite number of points) correspond to posets (Barmak 2011). So it could be possible to model some distributed tasks using finite topological spaces.