# Contents

## Idea

The circle type is an axiomatization of the homotopy type of the (shape of) the circle in the context of homotopy type theory.

## Definition

There are two ways to define the circle type: one can define it in terms of explicit inference rules, or one can use the notion of higher inductive type. We will discuss both formulations.

### With inference rules

Let $a =_A b$ denote the identification type between elements $a:A$ and $b:A$ of type $A$, and let $y =_{x:A.B(x)}^{(a, b, p)} z$ denote the heterogeneous identification type between elements $y:B(a)$ and $z:B(b)$ of type family $x:A \vdash B(x)$, given elements $a:A$ and $b:A$ and identification $p:a =_A b$. Let $\mathrm{apd}_f(a, b, p)$ denote the dependent function application of the dependent function $f:\prod_{x:A} B(x)$ to the identification $p:a =_A b$

In the natural deduction formulation of dependent type theory, the circle type is given by the following inference rules:

First the rule that defines the circle type itself in some context $\Gamma$.

type formation

$\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash S^1 \; \mathrm{type}}$

Now the basic “introduction” rule, which says that the circle type consists of a base point $\mathrm{base}:S^1$ and a loop identification $\mathrm{loop}:\mathrm{base} =_{S^1} \mathrm{base}$.

$\frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \mathrm{base}:S^1} \qquad \frac{\Gamma \; \mathrm{ctx}}{\Gamma \vdash \mathrm{loop}:\mathrm{base} =_{S^1} \mathrm{base}}$

#### Induction principle

There are different induction principles associated with the circle type, depending on whether judgmental equalities or identifications are used; if the former are used, this results in strict circle types, and if the latter are used, this results in weak circle types.

The induction principle for strict circle types states that if:

1. For all $x:S^1$ we have a type $C(x)$

2. For any term $c_\mathrm{base}:C(\mathrm{base})$ and any heterogeneous identification $c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}$ that $c_\mathrm{base}$ is equal to itself across $\mathrm{loop}$

then we have a dependent function $c:\prod_{x:S^1} C(x)$ such that evaluating $c$ at $\mathrm{base}$ results in $c_\mathrm{base}$ and applying $c$ across $\mathrm{loop}$ results in $c_\mathrm{loop}$.

$c(\mathrm{base}) \equiv c_\mathrm{base} \qquad \mathrm{apd}_c(\mathrm{base}, \mathrm{base}, \mathrm{loop}) \equiv c_\mathrm{loop}$

The induction principle for weak circle types states that if:

1. For all $x:S^1$ we have a type $C(x)$

2. For any term $c_\mathrm{base}:C(\mathrm{base})$ and any heterogeneous identification $c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}$ that $c_\mathrm{base}$ is equal to itself across $\mathrm{loop}$

there exists a dependent function $c:\prod_{x:S^1} C(x)$ and an identification $p:c(\mathrm{base}) =_{C(\mathrm{base})} c_\mathrm{base}$ such that applying $c$ across $\mathrm{loop}$ is equal to $c_\mathrm{loop}$ across $p$.

$\mathrm{ap}_c(\mathrm{base}, \mathrm{base}, \mathrm{loop}) =_{z:C(\mathrm{base}).z =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} z}^{(c(\mathrm{base}), c_\mathrm{base}, p)} c_\mathrm{loop}$

These are both formalized via the elimination and computation rules for the circle type:

Elimination rules for the circle type:

$\frac{\Gamma, x:S^1 \vdash C(x) \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C(\mathrm{base}) \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}{\Gamma \vdash \mathrm{ind}_{S^1}(c_\mathrm{base}, c_\mathrm{loop}):\prod_{x:S^1} C(x)}$

Computation rules for the strict circle type

$\frac{\Gamma, x:S^1 \vdash C(x) \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C(\mathrm{base}) \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}{\Gamma \vdash \mathrm{ind}_{S^1}(c_\mathrm{base}, c_\mathrm{loop})(\mathrm{base}) \equiv c_\mathrm{base}:C(\mathrm{base})}$
• Judgmental path constructors
$\frac{\Gamma, x:S^1 \vdash C(x) \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C(\mathrm{base}) \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}{\Gamma \vdash \mathrm{apd}_{\mathrm{ind}_{S^1}(c_\mathrm{base}, c_\mathrm{loop})}(\mathrm{base}, \mathrm{base}, \mathrm{loop}) \equiv c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}$
• Propositional path constructors
$\frac{\Gamma, x:S^1 \vdash C(x) \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C(\mathrm{base}) \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}{\Gamma \vdash \beta_{S^1}^{\mathrm{loop}}(c_\mathrm{base}, c_\mathrm{loop}):\mathrm{apd}_{\mathrm{ind}_{S^1}(c_\mathrm{base}, c_\mathrm{loop})}(\mathrm{base}, \mathrm{base}, \mathrm{loop}) =_{c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}} c_\mathrm{loop}}$

Computation rules for the weak circle type

$\frac{\Gamma, x:S^1 \vdash C(x) \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C(\mathrm{base}) \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}{\Gamma \vdash \beta_{S^1}^{\mathrm{base}}(c_\mathrm{base}, c_\mathrm{loop}):\mathrm{ind}_{S^1}(c_\mathrm{base}, c_\mathrm{loop})(\mathrm{base}) =_{C(\mathrm{base})} c_\mathrm{base}}$
$\frac{\Gamma, x:S^1 \vdash C(x) \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C(\mathrm{base}) \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}{\Gamma \vdash \beta_{S^1}^{\mathrm{loop}}(c_\mathrm{base}, c_\mathrm{loop}):\mathrm{apd}_{\mathrm{ind}_{S^1}(c_\mathrm{base}, c_\mathrm{loop})}(\mathrm{base}, \mathrm{base}, \mathrm{loop}) =_{z:C(\mathrm{base}).z =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} z}^{(\mathrm{ind}_{S^1}(c_\mathrm{base}, c_\mathrm{loop})(\mathrm{base}), c_\mathrm{base}, \beta_{S^1}^{\mathrm{base}}(c_\mathrm{base}, c_\mathrm{loop}))} c_\mathrm{loop}}$

For weak circle types, we can package the elimination and propositional computation rules together using dependent sum types to get a single rule for the induction principle of the circle type:

$\frac{\Gamma, x:S^1 \vdash C(x) \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C(\mathrm{base}) \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}{\Gamma \vdash \mathrm{ind}_{S^1}^{x:S^1.C(x)}(c_\mathrm{base}, c_\mathrm{loop}):\sum_{c:\prod_{x:S^1} C(x)} \sum_{p:c(\mathrm{base}) =_{C(\mathrm{base})} c_\mathrm{base}} \mathrm{apd}_c(\mathrm{base}, \mathrm{base}, \mathrm{loop}) =_{z:C(\mathrm{base}).z =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} z}^{(c(\mathrm{base}), c_\mathrm{base}, p)} c_\mathrm{loop}}$

Since the circle type is a positive type, it is not necessary to include a uniqueness rule for the induction principle circle types, since the propositional uniqueness rule can be proven from the the other inference rules for the circle type. Nevertheless, one can include the uniqueness rule in the combined single induction rule by turning the dependent sum type into a uniqueness quantifier, resulting in the dependent universal property of the circle type.

$\frac{\Gamma, x:S^1 \vdash C(x) \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C(\mathrm{base}) \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} c_\mathrm{base}}{\Gamma \vdash \mathrm{ind}_{S^1}^{x:S^1.C(x)}(c_\mathrm{base}, c_\mathrm{loop}):\exists!c:\prod_{x:S^1} C(x).\sum_{p:c(\mathrm{base}) =_{C(\mathrm{base})} c_\mathrm{base}} \mathrm{apd}_c(\mathrm{base}, \mathrm{base}, \mathrm{loop}) =_{z:C(\mathrm{base}).z =_{x:S^1.C(x)}^{(\mathrm{base}, \mathrm{base}, \mathrm{loop})} z}^{(c(\mathrm{base}), c_\mathrm{base}, p)} c_\mathrm{loop}}$

#### Recursion principle

In general, given a type $C$, by the weakening rule of dependent type theory, one can form the constant type family $C$ indexed by $x:S^1$; then one can get the recursion principle of the circle type from the induction principle on $C$ regarded as a constant type family:

The recursion principle for strict circle types states that if:

1. We have a type $C$

2. For any term $c_\mathrm{base}:C$ and any identification $c_\mathrm{loop}:c_\mathrm{base} =_{C} c_\mathrm{base}$ that $c_\mathrm{base}$ is equal to itself

then we have a function $c:S^1 \to C$ such that evaluating $c$ at $\mathrm{base}$ results in $c_\mathrm{base}$ and applying $c$ across $\mathrm{loop}$ results in $c_\mathrm{loop}$.

$c(\mathrm{base}) \equiv c_\mathrm{base} \qquad \mathrm{ap}_c(\mathrm{base}, \mathrm{base}, \mathrm{loop}) \equiv c_\mathrm{loop}$

The recursion principle for weak circle types states that if:

1. We have a type $C$

2. For any term $c_\mathrm{base}:C$ and any identification $c_\mathrm{loop}:c_\mathrm{base} =_{C} c_\mathrm{base}$ that $c_\mathrm{base}$ is equal to itself

there exists a function $c:S^1 \to C$ and an identification $p:c(\mathrm{base}) =_{C(\mathrm{base})} c_\mathrm{base}$ such that applying $c$ across $\mathrm{loop}$ is equal to $c_\mathrm{loop}$ across $p$.

$\mathrm{ap}_c(\mathrm{base}, \mathrm{base}, \mathrm{loop}) =_{z:C.z =_{C} z}^{(c(\mathrm{base}), c_\mathrm{base}, p)} c_\mathrm{loop}$

The recursion principle for weak circle types can be presented as a single rule via the use of a dependent sum type:

$\frac{\Gamma \vdash C \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{C} c_\mathrm{base}}{\Gamma \vdash \mathrm{rec}_{S^1}^{C}(c_\mathrm{base}, c_\mathrm{loop}):\sum_{c:S^1 \to C} \sum_{p:c(\mathrm{base}) =_{C(\mathrm{base})} c_\mathrm{base}} \mathrm{ap}_c(\mathrm{base}, \mathrm{base}, \mathrm{loop}) =_{z:C.z =_{C} z}^{(c(\mathrm{base}), c_\mathrm{base}, p)} c_\mathrm{loop}}$

and similarly, the (non-dependent) universal property of the circle type is presented as a single rule by replacing the dependent sum type in the recursion principle with a uniqueness quantifier

$\frac{\Gamma \vdash C \; \mathrm{type} \quad \Gamma \vdash c_\mathrm{base}:C \quad \Gamma \vdash c_\mathrm{loop}:c_\mathrm{base} =_{C} c_\mathrm{base}}{\Gamma \vdash \mathrm{rec}_{S^1}^{C}(c_\mathrm{base}, c_\mathrm{loop}):\exists!c:S^1 \to C.\sum_{p:c(\mathrm{base}) =_{C(\mathrm{base})} c_\mathrm{base}} \mathrm{ap}_c(\mathrm{base}, \mathrm{base}, \mathrm{loop}) =_{z:C.z =_{C} z}^{(c(\mathrm{base}), c_\mathrm{base}, p)} c_\mathrm{loop}}$

### In terms of higher inductive types

As a higher inductive type, the circle is given by

Inductive Circle : Type
| base : Circle
| loop : Id Circle base base

This says that the type is inductively constructed from

1. a term of circle type whose interpretation is as the base point of the circle,

2. a term of the identification type between these two terms, whose interpretation is as the 1-cell of the circle

$base \stackrel{loop}{\to} base \,$

Hence as a non-constant path from the base point to itself.

## Properties

###### Theorem

Suppose that the strict circle type has an identification $K:\mathrm{refl}_{S^1}(\mathrm{base}) = \mathrm{loop}$. Then every type is a set.

###### Proof

For all types $A$, terms $x:A$, and self-identifications $p:x =_A x$, by the recursion principle of the strict circle type, we have the function $\mathrm{rec}_{S^1}(x, p):S^1 \to A$ such that $\mathrm{rec}_{S^1}(x, p)(\mathrm{base}) \equiv x$ and $\mathrm{ap}_{\mathrm{rec}_{S^1}^A(x, p)}(\mathrm{base}, \mathrm{base}, \mathrm{loop}) \equiv p$. We also have by definition of $\mathrm{ap}_{\mathrm{rec}_{S^1}(x, p)}$ that

$\mathrm{ap}_{\mathrm{rec}_{S^1}(x, p)}(\mathrm{base}, \mathrm{base}, \mathrm{refl}_{S^1}(\mathrm{base})) \equiv \mathrm{refl}_{A}(\mathrm{rec}_{S^1}(x, p)(\mathrm{base})) \equiv \mathrm{refl}_A(x)$

By applying $\mathrm{ap}_{\mathrm{rec}_{S^1}(x, p)}(\mathrm{base}, \mathrm{base})$ to $K$, we have identification

$\mathrm{ap}_{\mathrm{ap}_{\mathrm{rec}_{S^1}(x, p)}(\mathrm{base}, \mathrm{base})}(\mathrm{refl}_{S^1}(\mathrm{base}), \mathrm{loop}, K):\mathrm{ap}_{\mathrm{rec}_{S^1}(x, p)}(\mathrm{base}, \mathrm{base}, \mathrm{refl}_{S^1}(\mathrm{base})) = \mathrm{ap}_{\mathrm{rec}_{S^1}(x, p)}(\mathrm{base}, \mathrm{base}, \mathrm{loop})$

which reduces down to

$\mathrm{ap}_{\mathrm{ap}_{\mathrm{rec}_{S^1}(x, p)}(\mathrm{base}, \mathrm{base})}(\mathrm{refl}_{S^1}(\mathrm{base}), \mathrm{loop}, K):\mathrm{refl}_{A}(x) = p$

which is precisely axiom K for type $A$. Thus every type $A$ is a set.

### Types equivalent to the circle type

The circle type is equivalent to the following types

$\mathbf{1} \rightrightarrows \mathbf{1} \to S^1$
$A^1\underoverset{\quad s \quad}{\mathrm{id}_{A^1}}{\rightrightarrows}A^1 \to S^1$
• Given a univalent universe $U$, the type of $U$-small $\mathbb{Z}$-torsors. One can then prove that this type satisfies the same induction principle (propositionally). This is due to Dan Grayson.

### Induction principle without heterogeneous identifications

There is a version of the induction principle which uses a type $C$ and a function $f:C \to S^1$ instead of a type family $P(x)$ indexed by $x:S^1$. It has the benefit of not requiring that one has first defined heterogeneous identification types, whether as an inductive family of types or by using transport.

The induction principle of the circle type says that given a type $C$ and a function $f:C \to S^1$, as well as

• an element $c_\mathrm{base}:C$

• identifications $c_\mathrm{loop}:c_\mathrm{base} =_C c_\mathrm{base}$ and $p_\mathrm{base}:f(c_\mathrm{base}) =_{S^1} \mathrm{base}$ such that $\mathrm{ap}_f(c_\mathrm{loop})$, $p_\mathrm{base}$, $p_\mathrm{base}$, and $\mathrm{loop}$ form a square

$\begin{array}{c} & f(c_\mathrm{base}) & \overset{\mathrm{ap}_{f}(c_\mathrm{loop})}= & f(c_\mathrm{base}) & \\ p_\mathrm{base} & \Vert & & \Vert & p_\mathrm{base}\\ & \mathrm{base} & \underset{\mathrm{loop}}= & \mathrm{base} & \\ \end{array}$
• an identification saying that the square commutes
$p_\mathrm{loop}:\mathrm{ap}_f(c_\mathrm{loop}) \bullet p_\mathrm{base} =_{f(c_\mathrm{base}) =_{S^1} \mathrm{loop}} p_\mathrm{base} \bullet \mathrm{loop}$

one can construct

• a function
$g:S^1 \to C$
• a homotopy witnessing that $g$ is a section of $f$:
$\mathrm{sec}_g:\prod_{x:S^1} f(g(x)) =_{S^1} x$

such that

$g(\mathrm{base}) \equiv c_\mathrm{base} \quad \mathrm{sec}_g(\mathrm{base}) \equiv p_\mathrm{base} \quad \mathrm{ap}_{g}(\mathrm{loop}) \equiv c_\mathrm{loop}$
$\mathrm{ind}_{=}\left(\lambda x:S^1.\mathrm{refl}_{f(g(x)) =_{S^1} x}(\mathrm{sec}_g(x)), \mathrm{base}, \mathrm{base}, \mathrm{loop}\right) \equiv p_\mathrm{loop}$

The last condition needs some explanation. Since $g$ is a section of $f$, the composite $f \circ g$ is the identity function on the circle type, up to identification. Now, given any identity function on the circle type $i:S^1 \to S^1$ with homotopy

$j:\prod_{x:S^1} i(x) =_{S^1} x$

we have the following square for all $x:S^1$, $y:S^1$, and $q:x =_{S^1} y$:

$\begin{array}{c} & i(x) & \overset{\mathrm{ap}_{i}(q)}= & i(y) & \\ j(x) & \Vert & & \Vert & j(y)\\ & x & \underset{q}= & y & \\ \end{array}$

This square commutes via the J rule: it suffices to construct an element of

$\mathrm{ap}_{i}(\mathrm{refl}_{S^1}(x)) \bullet j(x) =_{i(x) =_{S^1} x} j(x) \bullet \mathrm{refl}_{S^1}(x)$

But $\mathrm{ap}_{i}(\mathrm{refl}_{S^1}(x)) \bullet j(x)$ reduces down to $j(x)$ via

$\mathrm{ap}_{i}(\mathrm{refl}_{S^1}(x)) \bullet j(x) \equiv \mathrm{refl}_{S^1}(i(x)) \bullet j(x) \equiv j(x)$

and similarly $j(x) \bullet \mathrm{refl}_{S^1}(x)$ reduces down to $j(x)$, so just take reflexivity of $j(x)$.

So the naturality square is inductively defined by

$\mathrm{ind}_{=}\left(\lambda x:S^1.\mathrm{refl}_{i(x) =_{S^1} x}(j(x)), x, y, q\right):\mathrm{ap}_{i}(q) \bullet j(y) =_{i(x) =_{S^1} y} j(x) \bullet q$

When $i \coloneqq f \circ g$, $j \coloneqq \mathrm{sec}_g$, $x \coloneqq \mathrm{base}$, $y \coloneqq \mathrm{base}$, and $q \coloneqq \mathrm{loop}$, this results in the identification

$\mathrm{ind}_{=}\left(\lambda x:S^1.\mathrm{refl}_{f(g(x)) =_{S^1} x}(\mathrm{sec}_g(x)), \mathrm{base}, \mathrm{base}, \mathrm{loop}\right)$

which is of the same type as $p_\mathrm{loop}$ due to the judgmental equalities in the other computation rules.

One gets back the usual induction principle of the interval type when $C \equiv \sum_{x:S^1} P(x)$ and $f \equiv \pi_1$ the first projection function of the dependent sum type, and one gets back the recursion principle of the interval type when $C \equiv S^1 \times P$ and $f \equiv \pi_1$ the first projection function of the product type.

### Extensionality principle of the circle type

The extensionality principle of the circle type says that there is an equivalence of types between the identification type $\mathrm{base} =_{S^1} \mathrm{base}$ and the type of integers $\mathbb{Z}$:

$\mathrm{ext}_{S^1}:(\mathrm{base} =_{S^1} \mathrm{base}) \simeq \mathbb{Z}$

Equivalently, that the loop space type $\Omega(S^1, \mathrm{base})$ is equivalent to the integers.

Thus, the extensionality principle of the circle type implies that the integers and thus the natural numbers are contractible types if axiom K or uniqueness of identity proofs hold for the entire type theory. If the extensionality principle of the natural numbers also hold in the type theory, then every type is contractible.

One can prove the extensionality principle of the circle type, given a univalent universe where the circle is small relative to the universe. The HoTT book provides a number of such proofs.

If one doesn’t have a type of integers or a type universe, then the extensionality principle of the circle type says that the identity types $\mathrm{base} =_{S^1} \mathrm{base}$ satisfy the dependent universal property of the integers type with respect to the element $\mathrm{refl}_{S^1}(\mathrm{base}):\mathrm{base} =_{S^1} \mathrm{base}$ and the equivalence

$\lambda p:\mathrm{base} =_{S^1} \mathrm{base}.p \bullet \mathrm{loop}:(\mathrm{base} =_{S^1} \mathrm{base}) \simeq (\mathrm{base} =_{S^1} \mathrm{base})$

This is a special case of the extensionality principle of coequalizer types and pushout types as detailed in Kraus and Raumer (2019).

### The circle type and infinity

The extensionality principle of the circle type says that the loop space of the circle at its base point $\Omega(S^1, \mathrm{base})$ is a denumerable set. However, there is a weaker axiom that one can add to the circle type: that $\Omega(S^1, \mathrm{base})$ is an infinite type.

By the recursion principle of the natural numbers, there is a function

$\mathrm{rec}_{\mathbb{N}}(\mathrm{refl}_{S^1}(\mathrm{base}), \lambda l:\Omega(S^1, \mathrm{base}).l \bullet \mathrm{loop}):\mathbb{N} \to \Omega(S^1, \mathrm{base})$

which takes zero to reflexivity of $\mathrm{base}$ and the successor function to concatenation of a self-identification by $\mathrm{loop}$. That $\Omega(S^1, \mathrm{base})$ is an infinite set, states that the above function is an embedding of types,

$\mathrm{inf}_{S^1}:\mathrm{isEmbed}\left(\mathrm{rec}_{\mathbb{N}}(\mathrm{refl}_{S^1}(\mathrm{base}), \lambda l:\Omega(S^1, \mathrm{base}).l \bullet \mathrm{loop})\right)$

or equivalently that application of the above function is an equivalence for all natural numbers $m:\mathbb{N}$, $n:\mathbb{N}$

$\mathrm{inf}_{S^1}:\prod_{m:\mathbb{N}} \prod_{n:\mathbb{N}} \mathrm{isEquiv}\left(\mathrm{ap}_{\mathrm{rec}_{\mathbb{N}}(\mathrm{refl}_{S^1}(\mathrm{base}), \lambda l:\Omega(S^1, \mathrm{base}).l \bullet \mathrm{loop})}(m, n)\right)$

If one doesn’t have a natural numbers type, the loop space $\Omega(S^1, \mathrm{base})$ of the circle type at its base point $\mathrm{base}:S^1$ is an infinite set if and only if $\Omega(S^1, \mathrm{base})$ is equivalent to the sum type $\Omega(S^1, \mathrm{base}) + \Omega(S^1, \mathrm{base})$.

$\mathrm{inf}_{S^1}:\Omega(S^1, \mathrm{base}) \simeq (\Omega(S^1, \mathrm{base}) + \Omega(S^1, \mathrm{base}))$

See Rasekh 21 for proving this statement in the presence of the univalence axiom.

### Kuratowski-finiteness

The circle type is Kuratowski-finite. (Cf Frumin et al. 18)

### H-space structures on the circle type

The type of H-spaces on the circle type is a contractible type.

## References

The formalization of the shape homotopy type $ʃ S^1 \simeq \mathbf{B}\mathbb{Z}$ of the circle as a higher inductive type in homotopy type theory, along with a proof that $\Omega ʃS^1\simeq {\mathbb{Z}}$ (and hence $\pi_1(ʃS^1) \simeq \mathbb{Z}$):

Formalization in proof assistants:

in Coq:

in Agda:

Exposition and review:

Alternative construction of the circle type as the type of $\mathbb{Z}$-torsors:

Alternative construction of the circle type as a coequalizer:

For the fact that the type of H-space structures on a circle type is contractible:

For the fact that the circle type is Kuratowski-finite:

For the fact that one can construct a natural numbers type from the circle type:

For the induction principle of the identity types of the circle type:

Last revised on February 2, 2024 at 00:03:14. See the history of this page for a list of all contributions to it.