The sphere eversion project

1 Loops

1.1 Introduction

In this chapter, we explain how to construct families of loops to feed into the corrugation process explained at the end of the introduction. A loop is a map defined on the circle $𝕊^1 = ℝ/ℤ$. It can also freely be seen as $1$-periodic maps defined on $ℝ$.

Definition 1.1

The average of a loop $γ$ is $\barγ := \int _{𝕊^1} γ(s)\, ds$.

Throughout this document, $E$ and $F$ will denote finite-dimensional real vector spaces. All of this chapter is devoted to proving the following proposition.

Proposition 1.2

Let $U$ be an open set in $E$ and $K ⊆ U$ a compact subset. Let $Ω$ be a set in $E × F$ such that, for each $x$ in $U$, $Ω_x := Ω ∩ (\{ x\} × F)$ is open and connected.

Let $β$ and $g$ be maps from $E$ to $F$ that are smooth on $U$. Assume that $β(x) ∈ Ω_x$ for all $x$ in $U$, and $g(x) = β(x)$ near $K$.

If, for every $x$ in $U$, $g(x)$ is in the convex hull of $Ω_x$, then there exists a smooth family of loops

\[ γ \! :E × [0, 1] × 𝕊^1 → F, (x, t, s) ↦ γ^t_x(s) \]

such that, for all $x$ in $U$, and all $(t, s) ∈ [0, 1] × 𝕊^1$

  • $γ^t_x(s) ∈ Ω_x$

  • $γ^0_x(s) = β(x)$

  • $\barγ^1_x = g(x)$

  • $γ^t_x(s) = β(x)$ if $x$ is near $K$.

Let us briefly sketch the geometric idea behind the above proposition if we pretend there is only one point $x$, and drop it from the notation, and also focus only on $γ^1$. By assumption, there is a finite collection of points $p_i$ in $Ω$ and $λ_i ∈ [0, 1]$ such that $g$ is the barycenter $\sum λ_i p_i$. Since $Ω$ is open and connected, there is a smooth loop $γ_0$ which goes through each $p_i$. The claim is that $g$ is the average value of $γ = γ_0 ∘ h$ for some self-diffeomorphism $h$ of $𝕊^1$. The idea is to choose $h$ such that $γ$ rushes to $p_1$, stays there during a time roughly $λ_1$, rushes to $p_2$, etc. But, in order to achieve average exactly $g$, it seems like $h$ needs to be a discontinuous piecewise constant map. The assumption that $g$ is in the interior of the convex hull gives enough slack to get away with a smooth $h$. Actually the conclusion would be false without this interior assumption.

In the previous proof sketch, there is a lot of freedom in constructing $γ$, which is problematic when trying to do it consistently when $x$ varies.

1.2 Preliminaries

In this section, $E$ is a real vector space with (finite) dimension $d$. We’ll need the Carathéodory lemma:

Lemma 1.3 Carathéodory’s lemma

If a point $x$ of $E$ lies in the convex hull of a set $P$, then $x$ can be written as the convex combination of at most $d + 1$ points in $P$.

By assumption, there is a finite set of points $t_i$ in $P$ and weights $f_i$ such that $x = \sum f_i t_i$, each $f_i$ is non-negative and $\sum f_i = 1$. The goal it to reduce the number of these points until reaching at most $d+1$. It suffices to prove that one can get rid of one point as long as there are at least $d+2$ points. In this case there is some vanishing combination $\sum g_i t_i$ with $\sum g_i = 0$ and not all $g_i$ vanish. Let $S = \{ i | g_i > 0\} $. Let $i_0$ in $S$ be an index minimizing $f_i/g_i$. We define new weights $k_i = f_i - g_i f_{i_0}/g_{i_0}$. Those weights sum to $\sum f_i - (\sum g_i)f_{i_0}/g_{i_0} = 1$ and $k_{i_0} = 0$. Each $k_i$ is non-negative, thanks to the choice of $i_0$ if $i$ is in $S$ or using that $f_i$, $-g_i$ and $f_{i_0}/g_{i_0}$ are all non-negative when $i$ is not in $S$. It remain to compute \begin{align*} \sum _{i ≠ i_0} k_i t_i & = \sum _i k_i t_i \\ & = \sum _i (f_i - g_i f_{i_0}/g_{i_0}) t_i \\ & = \sum _i f_i t_i - \left(\sum _i g_i t_i\right)f_{i_0}/g_{i_0}) \\ & = x \end{align*} where we use $k_{i_0} = 0$ in the first equality.

Lemma 1.4

If a point $x$ of $E$ lies in the convex hull of a set $P$, then $x$ can be written as the convex combination of at most $d + 1$ affinely independent points in $P$ with positive coefficients.

lemma 1.3 gives points $p_i$ in $P$ and non-negative weights $w_i$ such that $x = \sum w_i p_i$ for $0 ≤ i ≤ k$ where $k ≤ d$. We first discard every point with vanishing weights. Now suppose the $p_i$’s are not affinely independent. Then there is some relation $p_{i_0} = \sum λ_j p_j$ with positive weights $λ_j$. We can then discard $p_{i_0}$ and replace each remaining $w_j$ by $w_j + w_{i_0}λ _j$.

Definition 1.5

Let $F$ be a real vector space with dimension $d$. A point $x$ in $E$ is surrounded by points $p_0$, …, $p_d$ if those points are affinely independent and there exist weights $w_i ∈ (0, 1)$ such that $x = \sum _i w_i p_i$.

Note that, in the above definition, the number of points $p_i$ is fixed by the dimension $d$ of $F$.

If a point $x$ of $E$ lies in the convex hull of an open set $P$, then it is surrounded by some collection of points belonging to $P$.


Lemma 1.4 gives affinely independent points $p_0, \dots , p_k$ in $P$ such that $x$ is the convex combination of these points with positive weights $w_i$ (here $k \ge 0$). In particular, the family of vectors $p_i - p_0$, $1 ≤ i ≤ k$ is free. So we can complete it to a basis by appending vectors $f_{k+1}, \dots , f_d$. We set $p_i = p_0 + εf_i$ for $i \ge k+1$. This belongs to $P$ for $ε > 0$ small enough since $p_0$ is in $P$ and $P$ is open. Note that the extend family of points is still affinely independent since the vectors $p_i - p_0$ are non-zero multiple of our basis elements.

The next idea is to expand the simplex spanned by the $p_i$’s around its center of mass $b = 1/(d+1)\sum p_i$. So we set:

\[ p’_i = b + (1 + ε)(p_i - b). \]

Those point are all in $P$ for $ε$ small enough because $P$ is open, and there are still affinely independent since they are the image of our original points by a homothety. Then we have:

\[ x = \sum _i w_i p_i = \sum _i \frac{w_i + ε/(d+1)}{1 + ε} p’_i \]

where all coefficients are positive

Lemma 1.7

For every $x$ in $E$ and every collection of points $p ∈ E^{d+1}$ surrounding $x$, there is a neighborhood $U$ of $\{ (x, p)\} $ and a function $w : E × E^{d+1} → ℝ^{d+1}$ such that, for every $(y, q)$ in $U$,

  • $w$ is continuous at $(y, q)$

  • $w(y, q) ∈ (0, 1)$

  • $y = \sum _{i=0}^d w_i(y, q)q_i$


If $d = 0$ then there is nothing to prove. Hence we will assume $d ≥ 1$. Components of elements of $E^{d+1}$ or $ℝ^{d+1}$ will always be numbered from $0$ to $d$. By assumption, the family of points $p_i$ is affinely independent and there are weights $w_0, \dots , w_d$ such that $x = \sum _i w_i p_i$ where each $w_i$ is in $(0, 1)$ and their sum is one. In particular

\begin{align*} x - p_0 & = \sum _{i=0}^d w_i p_i - \sum _{i=0}^d w_i p_0 \\ & = \sum _{i=0}^d w_i (p_i - p_0) \\ & = \sum _{i=1}^d w_i (p_i - p_0). \end{align*}

For $q$ in $E^{d+1}$ and $i ∈ \{ 1, \dots , d\} $, we set $e_i(q) = q_i - q_0$. Since $p$ is a collection of $d+1$ affinely independent points, the family $e_i(p)$ is a basis of $e$. By continuity of the determinant, this stays true for $q$ in $Π_i B_δ(p_i)$ for some positive $δ$. Let $e^*_i(q)$ denote the elements of the dual basis. In order to prove continuity of these maps and define them for every $q$, we fix a basis $B$ of $E$ and the corresponding determinant $\det _B : E^d → ℝ$. We set $δ(q) = \det _B(e(q))$ and define

\[ e^*_i(q) = v ↦ \det _B(e_1(q), \dots , e_{i-1}(q), v, e_{i+1}(q), \dots , e_d(q))/δ(q). \]

which should be interpreted as the zero linear form if $δ(q) = 0$ (this interpretation is automatic if division by zero in $ℝ$ is defined as zero, as it should be). The map $q ↦ e^*_i(q)$ is continuous (actually smooth) on $Π_i B_δ(p_i)$ where $δ$ does not vanish since the determinant is polynomial. We set $w_i(y, q) = e^*_i(q)(y - q_0)$. The computation of $x - p_0$ above proves that $w_i(x, p) = w_i$. We have $y - q_0 = \sum _{i = 1}^d w_i(y, q)(q_i - q_0)$. Hence

\[ y = \left(1 - \sum _{i = 1}^d w_i(y, q)\right)q_0 + \sum _{i = 1}^d w_i(y, q)q_i. \]

We denote by $w_0(y, q)$ the coefficient in front of $q_0$ in the above formula. Hence we have $y = \sum _{i=0}^d w_i(y, q)q_i$ with $w_i(x, p) = w_i$ hence each $w_i(y, q)$ is in $(0, 1)$ if $(y, q)$ is sufficiently close to $(x, p)$.

1.3 Constructing loops

1.3.1 Surrounding families

It will be convenient to introduce some more vocabulary.

Definition 1.8

We say a loop $γ$ surrounds a vector $v$ if $v$ is surrounded by a collection of points belonging to the image of $γ$. Also, we fix a base point $0$ in $𝕊^1$ and say a loop is based at some point $b$ if $0$ is sent to $b$.

The first main task in proving Proposition 1.2 is to construct suitable families of loops $γ_x$ surrounding $g(x)$, by assembling local families of loops. Those will then be reparametrized to get the correct average in the next section. In this section, we will work only with continuous loops. This will make constructions easier and we will smooth those loops in the end, taking advantage of the fact that $Ω$ and the surrounding condition are open.

Thanks to Carathéodory’s lemma, constructing one such loop with values in some open $O$ is easy as soon as $v$ belongs to the convex hull of $O$.

Lemma 1.9

If a vector $v$ is in the convex hull of a connected open subset $O$ then, for every base point $b ∈ O$, there is a continuous family of loops $γ \! :[0, 1] × 𝕊^1 → E, (t, s) ↦ γ^t(s)$ such that, for all $t$ and $s$:

  • $γ^t$ is based at $b$

  • $γ^0(s) = b$

  • $γ^t(s) ∈ O$

  • $γ^1$ surrounds $v$

Since $O$ is open, Lemma 1.6 gives points $p_i$ in $O$ surrounding $x$. Since $O$ is open and connected, it is path connected. Let $λ \! :[0, 1] → Ω_x$ be a continuous path starting at $b$ and going through the points $p_i$. We can concatenate $λ$ and its opposite to get $γ^1$, say $γ^1(s) = λ((1-\cos 2πs)/2)$. This is a round-trip loop: it back-tracks when it reaches $λ(1)$ at $s = 1/2$. We then define $γ^t$ as the round-trip that stops at $s = t/2$, stays still until $s = 1-t/2$ and then backtracks.

Definition 1.10

A continuous family of loops $γ \! :E × [0, 1] × 𝕊^1 → F, (x, t, s) ↦ γ^t_x(s)$ surrounds a map $g \! :E → F$ with base $β \! :E → F$ on $U ⊆ E$ if, for every $x$ in $U$, every $t ∈ [0, 1]$ and every $s ∈ 𝕊^1$,

  • $γ^t_x$ is based at $β(x)$

  • $γ^0_x(s) = β(x)$

  • $γ^1_x$ surrounds $g(x)$.

The space of such families will be denoted by $\operatorname{\mathcal{L}}(g, β, U)$.

Families of surrounding loops are easy to construct locally.

Lemma 1.11

Assume $Ω$ is open and connected over some neighborhood of $x_0$. If $g(x)$ is the convex hull of $Ω_x$ for $x$ near $x_0$ then there is a continuous family of loops defined near $x_0$, based at $β$, taking value in $Ω$ and surrounding $g$.

In this proof we don’t mention the $t$ parameter since it plays no role, but it is still there. Lemma 1.9 gives a loop $γ$ based at $β(x_0)$, taking values in $Ω_{x_0}$ and surrounding $g(x_0)$. We set $γ_x(s) = β(x) + (γ(s) - β(x_0))$. Each $γ_x$ takes values in $Ω_x$ because $Ω$ is open over some neighborhood of $x_0$. Lemma 1.7 guarantees that this loop surrounds $g(x)$ for $x$ close enough to $x_0$.

The difficulty in constructing global families of surrounding loops is that there are plenty of surrounding loops and we need to choose them consistently. The key feature of the above definition is that the $t$ parameter not only allows us to cut out the corrugation process in the next chapter, but also brings a “satisfied or refund” guarantee, as explained in the next lemma.

Lemma 1.12

Each $\operatorname{\mathcal{L}}(g, β, U)$ is path connected: for every $γ_0$ and $γ_1$ in $\operatorname{\mathcal{L}}(g, β, U)$, there is a continuous map $γ \! :[0, 1] × E × [0, 1] × 𝕊^1 → F, (τ, x, t, s) ↦ γ^t_{τ, x}(s)$ which interpolates between $γ_0$ and $γ_1$ in $\operatorname{\mathcal{L}}(g, β, U)$.


Let $ρ$ be the piecewise affine map from $ℝ$ to $ℝ$ such that $ρ(τ) = 1$ if $τ ≤ 1/2$, $ρ$ is affine on $[1/2, 1]$, $ρ(τ) = 0$ if $τ ≥ 1$. We set

\[ γ_{τ, x}^t(s) = \begin{cases} γ_{0, x}^{ρ(τ)t}\left(\frac1{1 - τ} s\right) & \text{if $s < 1 - τ$ and $τ < 1$}\\ β(x) & \text{if $s = 1 - τ$}\\ γ_{1, x}^{ρ(1-τ)t}\left(\frac1τ \big (s - (1- τ)\big )\right) & \text{if $s > 1 - τ$ and $τ > 0$}\\ \end{cases} \]

There is no surprise and no fun in checking that this is a well-defined continuous homotopy of families of loops based at $β$ interpolating between $γ_0$ and $γ_1$.

The beautiful observation motivating the above formula is why each $γ^1_{τ, x}$ surrounds $g(x)$. The key is that the image of $γ^1_{τ, x}$ contains the image of $γ^1_{0, x}$ when $τ ≤ 1/2$, and contains the image of $γ^1_{1, x}$ when $τ ≥ 1/2$. Hence $γ^1_{τ, x}$ always surrounds $g(x)$.

Corollary 1.13

Let $U_0$ and $U_1$ be open sets in $E$. Let $K_0 ⊆ U_0$ and $K_1 ⊆ U_1$ be compact subsets. For any $γ_0 ∈ \operatorname{\mathcal{L}}(U_0, g, β)$ and $γ_1 ∈ \operatorname{\mathcal{L}}(U_1, g, β)$, there exists $U ∈ 𝓝(K_0 ∪ K_1)$ and there exists $γ ∈ \operatorname{\mathcal{L}}(U, g, β)$ which coincides with $γ_0$ near $K_0$.


Let $U_0’$ be an open neighborhood of $K_0$ whose closure $\bar U_0’$ is compact in $U_0$. Since $\bar U_0’$ and $K_1’ := K_1 ∖ (K_1 ∩ U_0)$ are disjoint compact subsets of $E$, there is some continuous cut-off $ρ \! :E → [0, 1]$ which vanishes on $U_0’$ and equals one on some neighborhood $U_1’$ of $K_1’$.

Lemma 1.12 gives a homotopy of loops $γ_τ$ from $γ_0$ to $γ_1$ on $U_0 ∩ U_1$. On $U_0’ ∪ (U_0 ∩ U_1) ∪ U_1’$, which is a neighborhood of $K_0 ∪ K_1$, we set

\[ γ_x = \begin{cases} γ_{0, x} & \text{for $x ∈ U_0'$} \\ γ_{ρ(x), x} & \text{for $x ∈ U_0 ∩ U_1$} \\ γ_{1, x} & \text{for $x ∈ U_1'$} \end{cases} \]

which has the required properties.

Lemma 1.14

In the setup of Proposition 1.2, assume we have a continuous family $γ$ of loops defined near $K$ which is based at $β$, surrounds $g$ and such that each $γ_x^t$ takes values in $Ω_x$. Then there such a family which is defined on all of $U$ and agrees with $γ$ near $K$.

Let $U_0$ be an open set containing $K$ and contained in the domain of $γ$. Let $U_0’$ be an open neighborhood of $K$ with compact closure in $U_0$. Let $U_i$, $i ≥ 1$ be a local finite covering of $U ∖ U_0’$ by open subsets not intersecting $K$ and where the preceding observations gives families of loops $γ^i$. We also set $γ^0 = γ|_{U_0}$. In particular the open sets $U_i$, $i ≥ 0$ cover the whole of $U$, and only $U_0$ intersects $K$. Let $K_i$, $0 ≤ i ≤ N$, be a family of compact sets with $K_i ⊂ U_i$ which covers $U$. We repeatedly apply Corollary 1.13 to $K_i$ and $K_{i+1}$, in this order, to get a family $γ’$ defined over all $U$. Since each step preserves the family on $\operatorname{Op}{K_i}$ and only $U_0$ intersects (in fact contains) $K$, we do have $γ’ = γ$ on $\operatorname{Op}{K}$.

1.3.2 The reparametrization lemma

The second ingredient needed to prove Proposition 1.2 is a parametric reparametrization lemma.

Lemma 1.15

Let $γ \! :E × 𝕊^1 → F$ be a smooth family of loops surrounding a map $g$ with base $β$ over some $U ⊆ E$. There is a family of circle diffeomorphisms $φ : U × 𝕊^1 → 𝕊^1$ such that each $γ_x ∘ φ_x$ has average $g(x)$ and $φ_x(0) = 0$.


For any fixed $x$, since $γ_x$ strictly surrounds $g(x)$, there are points $s_1, …, s_{n+1}$ in $𝕊^1$ such that $g(x)$ is surrounded by the corresponding points $γ_x(s_j)$.

Let $μ_1, …, μ_{n+1}$ be smooth positive probability measures very close to the Dirac measures on $s_j$ (ie. $μ_j = f_j\, ds$ for some smooth positive function $f_j$ and, for any function $h$, $\int h\, dμ_j$ is almost $h(s_j)$). We set $p_j = \int γ_x\, d\mu _j$, which is almost $γ_x(s_j)$ so that $g(x) = \sum w_j p_j$ for some weights $w_j$ in the open interval $(0, 1)$ according to Lemma 1.7.

If $x’$ is in a sufficiently small neighborhood of $x$, Lemma 1.7 gives smooth weight functions $w_j$ such that $g(x’) = \sum w_j(x’)p_j(x’)$. Let $U^i$, $i ≥ 1$ be a locally finite cover of $U$ by such neighborhoods, with corresponding measures $μ_j^i$, moving points $p_j^i$ and weight functions $w_j^i$. Let $(ρ_i)$ be a partition of unity associated to this covering. For every $x$, we set

\[ μ_x = \sum _{i=1}^∞ \sum _{j=1}^{n+1} ρ_i(x)w_j^i(x)\, μ_j^i \]

so that:

\begin{align*} \int γ_x\, dμ_x & = \sum _i ρ_i(x)\sum _{j=1}^{n+1} w_j^i(x) \int γ_x\, dμ_j^i\\ & = \sum _i ρ_i(x)\sum _{j=1}^{n+1} w_j^i(x) p_j^i(x)\\ & = \sum _i ρ_i(x) g(x) = g(x). \end{align*}

We now set $φ_x^{-1}(t) = \int _0^tdμ_x$ so that $g(x) = \overline{γ_x ∘ φ_x}$ for all $x$.

1.3.3 Proof of the loop construction proposition

We finally assemble the ingredients from the previous two sections.

Proof of Proposition 1.2

Let $γ^*$ be a family of loops surrounding the origin in $F$, constructed using Lemma 1.11. For $x$ in some neighborhood $U^*$ of $K$ where $g = β$, we set $γ_x = g(x) + εγ^*$ where $ε > 0$ is sufficiently small to ensure the image of $γ_x$ and its convex hull are contained in $Ω_x$ (recall $Ω$ is open and $K$ is compact). Lemma 1.14 extends this family to a continuous family of surrounding loops $γ_x$ for all $x$ (this is not yet our final $γ$).

We then need to approximate this continuous family by a smooth one. Some care is needed to ensure that it stays based at $β$. For instance, we can first compose each loop by some fixed surjective continuous map from $𝕊^1$ to itself that sends a neighborhood of $0$ to $0$. This way each loop becomes constant near $0$, and a convolution smoothing will then keep the value at $0$. If the smoothing is sufficiently $C^0$ small then the new $γ$ is still surrounding and takes values in $Ω$.

Then Lemma 1.15 gives a family of circle diffeomorphisms $h_x$ such that $γ^1_x ∘ h_x$ has average $g(x)$.

Finally we choose a cut-off function function $χ$ which vanishes on $\operatorname{Op}{K}$ and equals one on $\operatorname{Op}{U ∖ U^*}$. In $U^*$, we replace $γ_x ∘ h_x = g(x) + γ^* ∘ h_x$ by $g(x) + χ(x)γ^* ∘ h_x$. This operation does not change the average values of these loops, because it rescales them around their average value, but makes them constant on $\operatorname{Op}{K}$. Also, those loops stay in $Ω$, thanks to our choice of $ε$.