1 Introduction

Our work takes place in Euclidean 3-space. For the closed ball of radius \(\rho \) centered at \(x\in \mathbb {R}^3\), we use the notation \({\mathbf {B}}[x, \rho ]:=\{y\in \mathbb {R}^3\;:\;d(x,y)\le \rho \}\). The 2-dimensional sphere (the boundary of a closed ball) is denoted by \({\mathbb {S}}^2(x, \rho ):=\{y\in \mathbb {R}^3\;:\;d(x,y)=\rho \}\). For brevity, we set \({\mathbf {B}}[x]:={\mathbf {B}}[x, 1]\), \({\mathbb {S}}(x):={\mathbb {S}}^{2}(x, 1)\) and for a set \(X\subseteq \mathbb {R}^3\), we write \({\mathbf {B}[X]}:=\bigcap \limits _{x\in X}{\mathbf {B}}[x]\).

Let \(X\subset \mathbb {R}^3\) be a finite, nonempty set contained in a ball of radius less than 1. The set \(P={\mathbf {B}[X]}\) is called a ball polyhedron. For any \(x\in X\), we call \({\mathbf {B}}[x]\) a generating ball of P and \({\mathbb {S}}(x)\) a generating sphere of P. Unless we state otherwise, we will assume that X is a reduced set of centers, that is, that \({\mathbf {B}[X]}\ne \mathbf {B}[X{\setminus }\{x\}]\) for any \(x\in X\).

The face structure of a 3-dimensional ball polyhedron \({\mathbf {B}[X]}\) is defined in a natural way: a point on the boundary of \({\mathbf {B}[X]}\) belonging to at least three generating spheres is called a vertex; a connected component of the intersection of two generating spheres and \({\mathbf {B}[X]}\) is called an edge, if it is a non-degenerate circular arc; and the intersection of a generating sphere and \({\mathbf {B}[X]}\) is called a face.

The face structure of a ball polyhedron, unlike that of a convex polyhedron, is not necessarily an algebraic lattice, with respect to containment, see [3]. Following [2], we call a ball polyhedron in \(\mathbb {R}^3\) standard, if its vertex-edge-face structure is a lattice with respect to containment. This is the case if, and only if, the intersection of any two faces is either empty, or one vertex or one edge, and any two edges share at most one vertex. The paper [4] and Chapter 6 of the beautiful book [5] by Martini, Montejano and Oliveros provide further background on the theory of ball polyhedra.

A fundamental result of Steinitz (see, [6, 8] and [7]) states that a graph G is the edge-graph of a 3-dimensional convex polyhedron if and only if, G is simple (ie., it contains no loops and no parallel edges), plane and 3-connected (ie., removing any two vertices and the edges adjacent to them yields a connected graph). In [2], it is shown that the edge-graph of any standard ball polyhedron in \(\mathbb {R}^3\) is simple, plane and 3-connected. Solving an open problem posed in [2] and [1], our main result shows that the converse holds as well.

Theorem 1

Every 3-connected, simple plane graph is the edge-graph of a standard ball polyhedron in \(\mathbb {R}^3\).

The proof of Steinitz’s theorem consists of two parts. First, it is shown that 3-connected, simple plane graphs can be “reduced” by a finite sequence of certain graph operations to the complete graph \(K_4\) on four vertices. Second, in the geometric part, it is shown that if a graph G is obtained from another graph \(G^\prime \) by such an operation and G is realizable as the edge-graph of a polyhedron, then \(G^\prime \) is realizable as well. To prove Theorem 1, we use the first, combinatorial part without modification. Our contribution is the proof of the second, geometric part in the setting of ball polyhedra.

The structure of the paper is the following. First, in Sect. 2, we introduce these operations on graphs, and recall facts on the face structure of the dual of a ball polyhedron. In Sect. 3, we state our main contribution, Theorem 2, which shows the “backward inheritance” of realizability by ball polyhedra under these graph operations, and deduce Theorem 1 from it. Finally, in Sect. 4, we prove Theorem 2.

2 Preliminaries

2.1 Simple \({\Delta \text {-to-}Y}\) and \({Y\text {-to-}\Delta }\) reductions on a plane graph

Let G be a 3-connected plane graph and \(K_3\) be a triangular face with vertices \(v_1, v_2\) and \(v_3\) (resp., \(K_{1,3}\) be a subgraph consisting of a 3-valent vertex v of G, its neighbors \(v_1,v_2, v_3\), and the edges \(\{ v, v_i \}\) connecting v to its neighbors). A \({\Delta Y}\) operation is defined as the graph operation which removes the edges \(\{v_i,v_j \}\) of a triangular face \(K_3\), adds a new vertex v from the face, and connects it to \(v_i\)s, or vice versa, it takes a subgraph \(K_{1,3}\) of G, removes the vertex v and the edges incident to it, then connects all pairs \(v-I, v_j\) by an edge. To specify the direction of the transformation, we will distinguish between a \({\Delta \text {-to-}Y}\) transformation and a \({Y\text {-to-}\Delta }\) transformation (see Fig. 1).

Fig. 1
figure 1

\(\Longrightarrow \): A \({\Delta \text {-to-}Y}\) transformation; \(\Longleftarrow \): A \({Y\text {-to-}\Delta }\) transformation

A \({\Delta Y}\) operation may create multiple edges or vertices of degree two. A graph with such objects is clearly not the edge-graph of a standard ball polyhedron. To fix these issues, we define the following notion. A series-parallel reduction, or SP-reduction is the replacement of a pair of edges incident to a vertex of degree 2 with a single edge or, the replacement of a pair of parallel edges with a single edge that connects their common endpoints, see Fig. 2.

Fig. 2
figure 2

Examples of SP-reductions

Assume that a graph G contains \(K_{1,3}\) as a subgraph whose degree 3 vertex is denoted by v, and its neighbors are \(v_1, v_2, v_3\) (resp., \(K_3\) with vertices \(v_1, v_2, v_3\)), see Fig. 1. We call edges of G that connect two vertices of \(K_{1,3}\) (resp., \(K_3\)) internal edges. We define the outer degree of a neighbor of v (resp., a vertex of \(K_3\)), as the number of non-internal edges adjacent to it. A \(K_{1,3}\) is called \(Y_0\), \(Y_1\), \(Y_2\), or \(Y_3\) if it has zero, one, two, or three internal edges respectively. A \(K_3\) is called \(\Delta _0\), \(\Delta _1\), \(\Delta _2\), or \(\Delta _3\) if it has zero, one, two, or three vertices of outer degree one, respectively.

A simple \({\Delta Y}\) reduction means any \({\Delta Y}\) operation followed immediately by SP-reductions that are then possible. There are four different types of simple \({\Delta \text {-to-}Y}\) and \({Y\text {-to-}\Delta }\) reductions (cf. Corollary 4.7 of [8]), as shown in Fig. 3.

Proposition 2.1

Every 3-connected plane graph G can be reduced to \(K_4\) by a sequence of simple \({\Delta Y}\) reductions.

Fig. 3
figure 3

a Four types of simple \({\Delta \text {-to-}Y}\) reduction, and b four types of simple \({Y\text {-to-}\Delta }\) reduction, where the dotted lines denote edges that may or may not be present, and are not affected by the simple \({\Delta \text {-to-}Y}\) and \({Y\text {-to-}\Delta }\) reductions

2.2 Standard graphs

A planar graph with a fixed drawing on the plane is called a plane graph. It is well known that 3-connected planar graphs have only one drawing, that is, all plane drawings of such a graph have isomorphic face lattices [8, Section 4.1].

Definition 2.1

Let G be a plane graph. We call G standard, if

  1. (i)

    the intersection of any two faces is either empty, or one vertex or one edge, and

  2. (ii)

    any two edges share at most one vertex.

Remark 2.1

Let G be the edge-graph of a ball polyhedron. Then G is standard if and only if the ball polyhedron is a standard ball polyhedron.

We leave the proof of the following two lemmas to the reader as an exercise.

Lemma 2.1

Let G be a 3-connected plane graph and let the graph \(G_0\) be derived from G by a simple \({\Delta \text {-to-}Y}\) reduction. If G is a standard graph, then so is \(G_0\).

The subdivision of an edge \(\{t_1, t_2\}\) of a graph G is another graph obtained from G by removing the edge \(\{t_1, t_2\}\), then adding a new vertex \(t^\prime \) and, finally, adding the edges \(\{t_1, t^\prime \}\) and \(\{t^\prime , t_2\}\).

Lemma 2.2

Let G be a standard graph, E be a face of G and \(\{u_1, u_3\}\), \(\{u_3, u_2\}\) be two edges of E such that \(u_1\) and \(u_2\) are non-adjacent vertices.

  1. I.

    If the graph H is obtained from G by adding the edge \(\{u_1, u_2\}\), then H is a standard graph.

  2. II.

    If the graph \(H^\prime \) is obtained from G by adding the edge \(\{u_2, u^\prime \}\) where \(u^\prime \) is a new vertex subdividing the edge \(\{u_1, u_3\}\), then \(H^\prime \) is a standard graph.

  3. III.

    If the graph \(H^{\prime \prime }\) is obtained from G by adding the edge \(\{u^\prime , u^{\prime \prime }\}\) where \(u^\prime \) and \(u^{\prime \prime }\) are two new vertices subdividing the edges \(\{u_1, u_3\}\) and \(\{u_3, u_2\}\) respectively, then \(H^{\prime \prime }\) is a standard graph.

2.3 Graph duality

We denote the dual of a plane graph G by \(G^\star \), see [8, Section 4.1]. It is well known that \(G^\star \) is also a plane graph, and \(G^\star \) is 3-connected if and only if, G is 3-connected.

According to the following fact, simple \({\Delta \text {-to-}Y}\) reductions and simple \({Y\text {-to-}\Delta }\) reductions are dual to each other, see [8, Section 4.2].

Proposition 2.2

Let G and \(G^\prime \) be 3-connected plane graphs. Then \(G^\prime \) is obtained from G by a simple \({\Delta \text {-to-}Y}\) reduction if and only if, \(G^{\prime \star }\) is obtained from \(G^\star \) by a simple \({Y\text {-to-}\Delta }\) reduction.

2.4 The dual of a ball polyhedron

In the following, \(\mathcal {F}(\mathbf {B}[X])\) denotes the set of faces, and \(\mathcal {V}(\mathbf {B}[X])\) denotes the set of vertices of the ball polyhedron \({\mathbf {B}[X]}\).

Let \({\mathbf {B}[X]}\) be a ball polyhedron in \(\mathbb {R}^3\) all of whose faces contain at least three vertices. In [3], the dual of \({\mathbf {B}[X]}\) is introduced as the ball polyhedron \({\mathbf {B}}[\mathcal {V}({\mathbf {B}[X]})]\), and a bijection, called the duality mapping between \({\mathbf {B}[X]}\) and \({\mathbf {B}}[\mathcal {V}({\mathbf {B}[X]})]\), is given between the faces, edges and vertices of \({\mathbf {B}[X]}\) and \({\mathbf {B}}[\mathcal {V}({\mathbf {B}[X]})]\), consisting of the following three mappings:

  1. (1)

    The vertex-face mapping is

    \(\mathcal {V}({\mathbf {B}[X]})\ni v\mapsto V \in \mathcal {F}(\mathbf {B}[\mathcal {V}({\mathbf {B}[X]})])\)

    where V is the face of \(\mathbf {B}[\mathcal {V}({\mathbf {B}[X]})]\) with v as its center.

  2. (2)

    The face-vertex mapping is

    \(\mathcal {F}({\mathbf {B}[X]})\ni F\mapsto f \in \mathcal {V}(\mathbf {B}[\mathcal {V}({\mathbf {B}[X]})])\)

    where f is the center of the sphere supporting the face F.

  3. (3)

    The edge-edge mapping is the following. Two vertices in \(\mathbf {B}[\mathcal {V}({\mathbf {B}[X]})]\) are connected by an edge if and only if, the corresponding faces of \({\mathbf {B}[X]}\) meet in an edge.

Note that every face of a standard ball polyhedron contains at least three edges. The relationship between graph duality and duality of ball polyhedra is described below.

Lemma 2.3

([1], Theorem 6.6.5) Let P be a standard ball polyhedron of \(\mathbb {R}^3\). Then the intersection \(P^\star \) of the closed unit balls centered at the vertices of P is another standard ball polyhedron whose face lattice is dual to that of P.

3 Proof of Theorem 1

Our main contribution follows.

Theorem 2

Let \(G^\prime \) be a 3-connected plane graph, and let the graph G be derived from \(G^\prime \) by a simple \({Y\text {-to-}\Delta }\) reduction. If G is the edge-graph of a standard ball polyhedron in \(\mathbb {R}^3\), then so is \(G^\prime \).

First, we show how Theorem 2 implies Theorem 1.

Proof of Theorem 1

Let G be a 3-connected simple plane graph. By Proposition 2.1, the graph G reduces to \(K_4\) the edge-graph of the standard ball tetrahedron by a sequence of simple \({\Delta Y}\) reductions.

Now we show that the standard ball tetrahedron can be gradually turned into a realization of G. Let H be the edge-graph of a standard ball polyhedron and assume that H is obtained from another edge-graph \(H^\prime \) by a simple \({\Delta Y}\) reduction. We want to show that \(H^\prime \) is realized by a standard ball polyhedron. So we need to discuss two cases:

First, assume that H is obtained from \(H^\prime \) by a simple \({Y\text {-to-}\Delta }\) reduction. Then by Theorem 2, \(H^\prime \) is realized by a standard ball polyhedron.

Second, assume that H is obtained from \(H^\prime \) by a simple \({\Delta \text {-to-}Y}\) reduction. Then by Proposition 2.2, we get that the edge-graph \(H^\star \) is obtained from the edge-graph \(H^{\prime \star }\) by a simple \({Y\text {-to-}\Delta }\) reduction. By Lemma 2.3, the edge-graph \(H^\star \) is realized by a standard ball polyhedron, and by Theorem 2, the edge-graph \(H^{\prime \star }\) is realized by a standard ball polyhedron. Again by Lemma 2.3, the edge-graph \(H^\prime \) is realized by a standard ball polyhedron, and this completes the proof. \(\square \)

figure a

4 Proof of Theorem 2

Let \(\emptyset \ne X\subset \mathbb {R}^3\) be a finite set and \({\mathbf {B}[X]}\) be a standard ball polyhedron with edge-graph G, and assume that G is obtained from a graph \(G^\prime \) by a simple \({Y\text {-to-}\Delta }\) reduction. We need to show that \(G^\prime \) is realized by a standard ball polyhedron.

Let \(\Lambda \) denote the triangular face of \({\mathbf {B}[X]}\) which realizes the triangle obtained in the \({Y\text {-to-}\Delta }\) reduction, let \({\mathbb {S}}(x_\Lambda )\) be its supporting unit sphere, and \(v_1\), \(v_2\), \(v_3\) be the vertices of \(\Lambda \) and \(e_1\), \(e_2\), \(e_3\) the edges. Let \(F_1\), \(F_2\) and \(F_3\) denote the faces of \({\mathbf {B}[X]}\) distinct from \(\Lambda \) containing \(e_1\), \(e_2\) and \(e_3\) respectively, and let \({\mathbb {S}}(x_1)\), \({\mathbb {S}}(x_2)\) and \({\mathbb {S}}(x_3)\) be the unit spheres supporting these faces, see Fig. 4.

Fig. 4
figure 4

Face \(\Lambda \) and it neighbors

The starting point of the proof of Theorem 2 is the removal of the ball that generates the triangular face \(\Lambda \). Thus, we obtain another ball polyhedron, \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\). The following lemma (which we prove later) describes the edge-graph of \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\) and, combined with Lemma 2.1 yields that it is a standard graph, and hence, by Remark 2.1, \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\) is a standard ball polyhedron.

Lemma 4.1

The edge-graph of the ball polyhedron \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\) is obtained by a simple \({\Delta \text {-to-}Y}\) reduction applied to \(\Lambda \) in the role of \(K_3\).

The edge-graph of \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\) described in Lemma 4.1 may be \(G^\prime \), in which case we are done. However, it may happen that this is not \(G^\prime \), more precisely, the graph G is derived from \(G^\prime \) by a simple \({Y\text {-to-}\Delta }\) reduction, but the converse is not always true, it may happen that \(G^\prime \) is not derived from G by a simple \({\Delta \text {-to-}Y}\) reduction. The reason is that when we do a \({\Delta \text {-to-}Y}\) reduction, the vertices of the triangle of outer degree one in G become degree two vertices in the graph obtained from G by a \({\Delta \text {-to-}Y}\) reduction. Next, we do the SP-reduction, and these vertices are lost, see Fig. 5(c) and (d). Moreover, the internal edges will be missing as well, see Fig. 5(b), (c) and (d).

Fig. 5
figure 5

Reconstruction of reductions

The following lemma describes how the edge-graph of \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\) is converted into \(G^\prime \) by adding the missing vertices and edges. We achieve this by adding some extra balls. Lemma 2.2 yields that \(G^\prime \) is a standard graph, and hence, by Remark 2.1, the ball polyhedron realizing \(G^\prime \) is a standard ball polyhedron.

Lemma 4.2

Let \(\emptyset \ne Z\subset \mathbb {R}^3\) be a finite set and \({\mathbf {B}}[Z]\) be a ball polyhedron. If the edge-graph of \({\mathbf {B}}[Z]\) contains \(Y_0\) as an induced subgraph whose vertices are u, \(u_1\), \(u_2\) and \(u_3\), and whose edges are \(a_1\), \(a_2\) and \(a_3\), see Fig. 6, left side, then

  1. I.

    there exists a center w such that the edge-graph of the ball polyhedron \({\mathbf {B}}[Z\cup \{w\}]\) is obtained from the edge-graph of \({\mathbf {B}}[Z]\) by adding the internal edge \(\{u_1, u_2\}\).

  2. II.

    there exists a center \(w^\prime \) such that the edge-graph of the ball polyhedron \({\mathbf {B}}[Z\cup \{w^\prime \}]\) is obtained from the edge-graph of \({\mathbf {B}}[Z]\) by adding the edge \(\{u_2, u_1^\prime \}\), where \(u_1^\prime \) is a new vertex subdividing the edge \(a_1\).

  3. III.

    there exists a center \(w^{\prime \prime }\) such that the edge-graph of the ball polyhedron \({\mathbf {B}}[Z\cup \{w^{\prime \prime }\}]\) is obtained from the edge-graph of \({\mathbf {B}}[Z]\) by adding the edge \(\{u_1^\prime , u_2^\prime \}\), where \(u_1^\prime \) and \(u_2^\prime \) are two new vertices subdividing the edges \(a_1\) and \(a_2\) respectively.

In summary, proving Lemmas 4.1 and 4.2, we prove Theorem 2, which in turn yields Theorem 1.

4.1 Proof of Lemma 4.1

In this section, we use the notation of Lemma 4.1 and Fig. 4.

The following claim is obvious.

Claim 4.1

For any \(i\in \{1, 2, 3\}\), \(\Lambda {\setminus } e_i\) is contained in the interior of \({\mathbf {B}}[x_i]\).

The following claim is the key to our proof. It states that the “new part” of the boundary of the new ball polyhedron \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\) belongs to the union of \(\mathbb {S}(x_1)\), \(\mathbb {S}(x_2)\) and \(\mathbb {S}(x_3)\).

Claim 4.2

\(\mathrm {bd}({\mathbf {B}[X^\prime ]}){\setminus } \mathrm {bd}({\mathbf {B}[X]})\subseteq \mathbb {S}(x_1)\cup \mathbb {S}(x_2)\cup \mathbb {S}(x_3)\), where \(X^\prime =X{\setminus }\{x_\Lambda \}\).

Proof

Consider a point \(q \in \mathrm {bd}({\mathbf {B}[X^\prime ]}){\setminus } \mathrm {bd}({\mathbf {B}[X]})\). Then there exists a generating sphere \(\mathbb {S}(x_q)\) of \(\mathbf {B}[X^\prime ]\) such that \(q\in \mathbb {S}(x_q)\) and \(x_q\in X^\prime \), implying that \(\mathbb {S}(x_q)\) is a generating sphere of \({\mathbf {B}[X]}\) as well. Let \(F=\mathbb {S}(x_q)\cap {\mathbf {B}[X]}\) and \(F^\prime =\mathbb {S}(x_q)\cap {\mathbf {B}[X^\prime ]}\). Then \(F=F^\prime \cap \mathbf {B}[x_{\Lambda }]\), \(F\subseteq F^\prime \), \(q\in F^\prime \), and \(q\notin F\). This yields that \(F^\prime \cap \mathbb {S}(x_{\Lambda })\) is a non-degenerate circular arc in \(F^\prime \) that separates q from F. Thus F intersects \(\Lambda \) in a non-degenerate circular arc. That only happens if F intersects \(\Lambda \) in an edge of \(\mathbf {B}[X]\), and hence, \(x_q= x_1, x_2\), or \(x_3\).

\(\square \)

The following Claim is obvious.

Claim 4.3

Let \({\mathbf {B}}_1, {\mathbf {B}}_2\) and \({\mathbf {B}}_3\) be closed unit balls in \(\mathbb {R}^3\) such that \({\mathbf {B}}_1\cap {\mathbf {B}}_2\cap {\mathbf {B}}_3\) is a ball polyhedron with three faces. Then \({\mathbf {B}}_1\cap {\mathbf {B}}_2\cap {\mathbf {B}}_3\) is a ball polyedron with two vertices connected by three edges.

Finally, we are in the position to prove Lemma 4.1. By Claim 4.3, the boundary of \({\mathbf {B}}[x_1]\cap {\mathbf {B}}[x_2]\cap {\mathbf {B}}[x_3]\) contains two vertices of degree three say q and \(\bar{q}\), three edges, and three faces. We need to prove that the “new part” \(\mathcal {N}:=\mathrm {bd}(\mathbf {B}[X{\setminus }\{x_\Lambda \}]){\setminus } \mathrm {bd}({\mathbf {B}[X]})\) of the boundary of the ball polyhedron \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\) contains either q or \(\bar{q}\) with part from each of the three edges, and part from each of the three faces (i.e., \(K_{1,3}\)). It means that when we remove the ball \({\mathbf {B}}[x_\Lambda ]\), the triangular face \(\Lambda \) of G will be replaced by \(Y_0=K_{1,3}\) in the edge-graph of \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\), i.e., the edge-graph of \(\mathbf {B}[X{\setminus }\{x_\Lambda \}]\) is derived from G by a simple \({\Delta \text {-to-}Y}\) reduction.

Let \(\Gamma :={\mathbf {B}}[x_1]\cap {\mathbf {B}}[x_2]\cap {\mathbf {B}}[x_3]\) and \(\gamma :=\mathrm {bd}(\Lambda )=e_1\cup e_2\cup e_3\), see Fig. 4. By Claim 4.2, \(\mathcal {N}\subseteq {\mathbb {S}}(x_1)\cup {\mathbb {S}}(x_2)\cup {\mathbb {S}}(x_3)\), which implies that \(\mathcal {N}\subseteq \mathrm {bd}(\Gamma )\). Clearly, \(\mathrm {bd}(\Gamma )\) has three edges, say \(e^\prime _1, e^\prime _2\) and \(e^\prime _3\) such that \(e^\prime _1\subseteq {\mathbb {S}}(x_2)\cap {\mathbb {S}}(x_3)\), \(e^\prime _2\subseteq {\mathbb {S}}(x_1)\cap {\mathbb {S}}(x_3)\) and \(e^\prime _3\subseteq {\mathbb {S}}(x_1)\cap {\mathbb {S}}(x_2)\).

By Claim 4.1, \(v_i\in \mathrm {int}\left( {\mathbf {B}}[x_i]\right) \) for all \(i=1, 2, 3\). By Claim 4.3, \({\mathbb {S}}(x_1)\cap {\mathbb {S}}(x_2)\cap {\mathbb {S}}(x_3)\) is a set of two points q and \(\bar{q}\). Clearly, \(\{v_1, v_2, v_3\}\cap \{q,\ \bar{q}\}=\emptyset \).

Since \(e^\prime _1{\setminus }\{q,\ \bar{q}\}\subseteq \mathrm {int}({\mathbf {B}}[x_1])\), \(v_1\in e^\prime _1{\setminus }\{q,\ \bar{q}\}\) and \(\{e^\prime _2, e^\prime _3\}\subseteq {\mathbb {S}}(x_1)\), we have that \(v_1\) belongs to \(e^\prime _1{\setminus }\{q,\ \bar{q}\}\) and does not belong to \(e^\prime _2\) or to \(e^\prime _3\). Similarly, \(v_i\) belongs to \(e^\prime _i{\setminus }\{q,\ \bar{q}\}\) (\(i=2, 3\)) only, respectively. Thus, exactly one of \(v_1, v_2\) and \(v_3\) is contained on each of the three edges of \(\Gamma \).

Observe that both \({\mathbb {S}}(x_\Lambda )\cap \Gamma \) and \(\Lambda \) are the intersections of three spherical disks on \({\mathbb {S}}(x_\Lambda )\), each smaller than a hemi-sphere: \({\mathbb {S}}(x_\Lambda )\cap {\mathbf {B}}[x_1]\), \({\mathbb {S}}(x_\Lambda )\cap {\mathbf {B}}[x_2]\) and \({\mathbb {S}}(x_\Lambda )\cap {\mathbf {B}}[x_3]\). Hence, \({\mathbb {S}}(x_\Lambda )\cap \Gamma =\Lambda \), and it follows that \({\mathbb {S}}(x_\Lambda )\cap \mathrm {bd}(\Gamma )=\gamma \).

It follows that \(\gamma \) partitions \(\mathrm {bd}(\Gamma )\) into two components, q is in one component and \(\bar{q}\) is in the other, so we may assume that \(\bar{q}\in \mathrm {int}\left( {\mathbf {B}}[x_\Lambda ]\right) \). Claim 4.2 yields that \(q\in \mathcal {N}\) as required. This completes the proof of Lemma 4.1.

4.2 Proof of Lemma 4.2

(I) Let \(g_1\), \(g_2\) and \(g_3\) be the faces of \({\mathbf {B}}[Z]\) such that \(a_1=g_2\cap g_3\), \(a_2=g_1\cap g_3\) and \(a_3=g_1\cap g_2\) and let \({\mathbb {S}}(z_1)\), \({\mathbb {S}}(z_2)\) and \({\mathbb {S}}(z_3)\) be the spheres supporting these faces, see Fig. 6, left side.

To add an internal edge to \(Y_0\), we will add a rotated copy \(z_3^\prime \) of \(z_3\) to the set Z, where the axis of the rotation is the line through \(u_1\) and \(u_2\), the angle of the rotation is sufficiently small, and u is outside of \({\mathbf {B}}[z_3^\prime ]\). Thus, we obtain a new triangular face \(g_3^\prime \) supported by \({\mathbb {S}}(z_3^\prime )\), see the dashed lines in Fig. 6(a), and remove the dotted lines in Fig. 6(a).

Fig. 6
figure 6

The dotted (blue) vertices and edges are removed and the dashed (red) vertices and edges are introduced in the new graph (Color figure online)

(II) To add a new vertex and a new edge to \(Y_0\), we use the same method as in (I), but we choose the rotation axis so that it passes through the vertex \(u_2\) and intersects the edge \(a_1\) at a point, say \(u_1^\prime \), distinct from its endpoints, see Fig. 6(b).

(III) To add two new vertices and a new edge to \(Y_0\), we use again the same method as in (I), but this time, we choose the rotation axis so that it intersects the edges \(a_1\) and \(a_2\) at two points, say \(u_1^\prime \) and \(u_2^\prime \) respectively, distinct from their endpoints, see Fig. 6(c). This finishes the proof of Lemma 4.2.